RTEMS-6
Annotated Report
libbspcmdline
Mon Mar 1 00:21:50 2021

0000000040023fd0 <rtems_bsp_cmdline_get_param>:                                           
    return NULL;                                                                          
                                                                                          
  if ( !value )                                                                           
    return NULL;                                                                          
                                                                                          
  if ( !length )                                                                          
    40023fd0:   f100003f    cmp x1, #0x0                                                  
    40023fd4:   fa401844    ccmp    x2, #0x0, #0x4, ne  // ne = any                       
    40023fd8:   fa401804    ccmp    x0, #0x0, #0x4, ne  // ne = any                       
    40023fdc:   54000580    b.eq    4002408c <rtems_bsp_cmdline_get_param+0xbc>  // b.none
{                                                                                         
    40023fe0:   a9be7bfd    stp x29, x30, [sp, #-32]!                                     
    40023fe4:   910003fd    mov x29, sp                                                   
    40023fe8:   a90153f3    stp x19, x20, [sp, #16]                                       
    40023fec:   aa0103f3    mov x19, x1                                                   
    40023ff0:   aa0203f4    mov x20, x2                                                   
    return NULL;                                                                          
                                                                                          
  value[0] = '\0';                                                                        
    40023ff4:   3900003f    strb    wzr, [x1]                                             
                                                                                          
  p = rtems_bsp_cmdline_get_param_raw( name );                                            
    40023ff8:   9400002a    bl  400240a0 <rtems_bsp_cmdline_get_param_raw>                
                                                                                          
  if ( !p )                                                                               
    40023ffc:   b4000400    cbz x0, 4002407c <rtems_bsp_cmdline_get_param+0xac>           
  for (i=0 ; *p && i<length-1; ) {                                                        
    40024000:   39400003    ldrb    w3, [x0]                                              
    40024004:   34000343    cbz w3, 4002406c <rtems_bsp_cmdline_get_param+0x9c>           <== NEVER TAKEN
    40024008:   f1000681    subs    x1, x20, #0x1                                         
    4002400c:   54000300    b.eq    4002406c <rtems_bsp_cmdline_get_param+0x9c>  // b.none<== NEVER TAKEN
    40024010:   d2800002    mov x2, #0x0                    // #0                         
  quotes=0;                                                                               
    40024014:   52800004    mov w4, #0x0                    // #0                         
    40024018:   1400000c    b   40024048 <rtems_bsp_cmdline_get_param+0x78>               
    } else if ( ((quotes % 2) == 0) && *p == ' ' )                                        
    4002401c:   7100807f    cmp w3, #0x20                                                 
    40024020:   1a9f17e5    cset    w5, eq  // eq = none                                  
    40024024:   6a2400bf    bics    wzr, w5, w4                                           
    40024028:   54000221    b.ne    4002406c <rtems_bsp_cmdline_get_param+0x9c>  // b.any 
    value[i++] = *p++;                                                                    
    4002402c:   38226a63    strb    w3, [x19, x2]                                         
    value[i] = '\0';                                                                      
    40024030:   91000442    add x2, x2, #0x1                                              
  for (i=0 ; *p && i<length-1; ) {                                                        
    40024034:   eb01005f    cmp x2, x1                                                    
    value[i] = '\0';                                                                      
    40024038:   38226a7f    strb    wzr, [x19, x2]                                        
  for (i=0 ; *p && i<length-1; ) {                                                        
    4002403c:   38626803    ldrb    w3, [x0, x2]                                          
    40024040:   34000163    cbz w3, 4002406c <rtems_bsp_cmdline_get_param+0x9c>           
    40024044:   54000140    b.eq    4002406c <rtems_bsp_cmdline_get_param+0x9c>  // b.none
    if ( *p == '\"' ) {                                                                   
    40024048:   7100887f    cmp w3, #0x22                                                 
    4002404c:   54fffe81    b.ne    4002401c <rtems_bsp_cmdline_get_param+0x4c>  // b.any 
    value[i++] = *p++;                                                                    
    40024050:   38226a63    strb    w3, [x19, x2]                                         
    40024054:   91000442    add x2, x2, #0x1                                              
      quotes++;                                                                           
    40024058:   11000484    add w4, w4, #0x1                                              
  for (i=0 ; *p && i<length-1; ) {                                                        
    4002405c:   eb01005f    cmp x2, x1                                                    
    value[i] = '\0';                                                                      
    40024060:   38226a7f    strb    wzr, [x19, x2]                                        
  for (i=0 ; *p && i<length-1; ) {                                                        
    40024064:   38626803    ldrb    w3, [x0, x2]                                          
    40024068:   35fffee3    cbnz    w3, 40024044 <rtems_bsp_cmdline_get_param+0x74>       <== ALWAYS TAKEN
  quotes=0;                                                                               
    4002406c:   aa1303e0    mov x0, x19                                                   
    return NULL;                                                                          
                                                                                          
  copy_string( p, value, length );                                                        
                                                                                          
  return value;                                                                           
}                                                                                         
    40024070:   a94153f3    ldp x19, x20, [sp, #16]                                       
    40024074:   a8c27bfd    ldp x29, x30, [sp], #32                                       
    40024078:   d65f03c0    ret                                                           
    return NULL;                                                                          
    4002407c:   d2800000    mov x0, #0x0                    // #0                         
}                                                                                         
    40024080:   a94153f3    ldp x19, x20, [sp, #16]                                       
    40024084:   a8c27bfd    ldp x29, x30, [sp], #32                                       
    40024088:   d65f03c0    ret                                                           
    return NULL;                                                                          
    4002408c:   d2800000    mov x0, #0x0                    // #0                         
}                                                                                         
    40024090:   d65f03c0    ret                                                           
    ...