2009-04-28 07:54:17     Not able to run telnet command

Document created by Aaronwu Employee on Aug 15, 2013
Version 1Show Document
  • View in full screen mode

2009-04-28 07:54:17     Not able to run telnet command

Parimala Baggiri (INDIA)

Message: 73355   

 

Hello,

 

            When I put some of my code in L1, I am unable to run telnet command. system crashes with the following message when I execute telnet command

 

Instruction fetch misaligned address violation                             

                     

- Attempted misaligned instruction cache fetch. On a misaligned instruction fetch                                 

   exception, the return address provided in RETX is the destination address which is    

   misaligned, rather than the address of the offending instruction.               

                                                 

Kernel OOPS in progress                     

Deferred Exception context                        

CURRENT PROCESS:              

COMM=sh PID=94            

CPU = 0     

TEXT = 0x03280040-0x032c9000        DATA = 0x032c9020-0x032db7e8                   

                                         

BSS = 0x032db7e8-0x032dd160  USER-STACK = 0x032e5f44                              

               

return address: [0x0004ae2c]; contents of:                                        

0x0004ae00:  0000  0031  60fa  0811  e408  001a  6408  e608                        

0x0004ae10:  001a  1807  e14a  0016  e10a  f050  9110  0040                        

0x0004ae20:  aca2  3044  304f  e512  0021  ae92 [0062] e123                        

0x0004ae30:  f000  0a18  3028  1131  0000  0000  0000  adfa                        

 

SEQUENCER STATUS:               Tainted: P                                        

SEQSTAT: 0006002a  IPEND: 8030  SYSCFG: 0006                                      

   

  EXCAUSE   : 0x2a                

  interrupts disabled                   

  physical IVG5 asserted : <0xffa00c0c> { _evt_ivhw + 0x0 }                        

  physical IVG15 asserted : <0xffa00d6c> { _                                       

  logical irq   6 mapped  : <0xffa003b8> { _timer_interrupt + 0x0 }                

  logical irq  18 mapped  : <0x000a22e8> { _bfin_serial_dma_rx_int + 0x0 }         

  logical irq  19 mapped  : <0x000a2530> { _bfin_serial_dma_tx_int + 0x0 }         

  logical irq  24 mapped  : <0x000ae3ec> { _bfin_mac_interrupt + 0x0 }             

 

RETE: <0x00000000> { __stext + 0xfffff000 }                                       

RETN: <0x03249d88> /* kernel dynamic memory */                                    

RETX: <0x00000480> /* Maybe fixed code section */                                 

RETS: <0x0004ad98> { ___link_path_walk + 0x82c }                                  

PC  : <0x0004ae2c> { ___link_pat                              

DCPLB_FAULT_ADDR: <0x011ce42c> /* kernel dynamic memory */                         

ICPLB_FAULT_ADDR: <0x0004ae2c> { ___link_path_walk + 0x8c0 }                       

                                 

 

PROCESSOR STATE:              

R0 : 036f4f60    R1 : 03249e64    R2 : 0000001f    R3 : 00000000                  

R4 : 00000101    R5 : 003cf000    R6 : 00000000    R7 : 03248000                  

P0 : 03248000    P1 : 037f37a0    P2 : b9bc17ed    P3 : 003cf000                  

P4 : 036f4f60    P5 : 03452818    FP : 03249e64    SP : 03249cac                  

LB0: 00091642    LT0: 0009163a    LC0: 00000000                                   

LB1: 03292979    LT1: 03292972    LC1: 00000000                                   

B0 : 00000000    L0 : 00000000    M0 : 00000000    I0 : 032605a4                  

B1 : 00000000    L1 : 00000000    M1 : 00000000    I1 : 03248000                  

B2 : 00000000    L2 : 00000000    M2 : 00000000    I2 : 00000000                  

B3 : 00000000    L3 : 00000000    M3 : 00000000    I3 : 00000000                  

A0.w: 00000000   A0.x: 00000000   A1.w: 00000000   A1.x: 00000000                  

USP : 032e5b28  ASTAT: 02002000                             

 

Hardware Trace:             

   0 Target : <0x00004b30> { _trap_c + 0x0 }                                       

     Source : <0xffa00692> { _exception_to_level5 + 0x9e } CALL pcrel              

   1 Target : <0xffa005f4> { _exception_to_level5 + 0x0 }                          

     Source : <0xffa004b6> { _bfin_return_from_exception + 0xe } RTX               

   2 Target : <0xffa004a8> { _bfin_return_from_exception + 0x0 }                  

     Source : <0xffa0054a> { _ex_trap_c + 0x66 } JUMP.S                            

   3 Target : <0xffa004e4> { _ex_trap_c + 0x0 }                                    

     Source : <0xffa0072c> { _trap + 0x38 } JUMP (P4)                              

   4 Target : <0xffa00712> { _trap + 0x1e }                                        

     Source : <0xffa0070e> { _trap + 0x1a } IF !CC JUMP                            

   5 Target : <0xffa006f4> { _trap + 0x0 }                                        

     Source : <0x0004ae2a> { ___link_path_walk + 0x8be } 0xae92                    

   6 Target : <0x0004adfc> { ___link_path_walk + 0x890 }                           

     Source : <0x0004ada4> { ___link_path_walk + 0x838 } IF !CC JUMP               

   7 Target : <0x0004ad98> { ___link_path_walk + 0x82c }                           

     Source : <0x00055a7a> { _mnt_drop_write + 0x8a } RTS                          

   8 Target : <0x00055a60> { _mnt_drop_write + 0x70 }                              

     Source : <0x00055a52> { _mnt_drop_write + 0x62 } IF CC JUMP                   

   9 Target : <0x00055a26> { _mnt_drop_write + 0x36 }                              

     Source : <0x00055a18> { _mnt_drop                                   

  10 Target : <0x000559f0> { _mnt_drop_write + 0x0 }                               

     Source : <0x00052922> { _touch_atime + 0x2a } JUMP.L                          

  11 Target : <0x00052908> { _touch_atime + 0x10 }                                 

     Source : <0x00055e7c> { _mnt_want_write + 0x58 } RTS                          

  12 Target : <0x00055e4e> { _mnt_want_write + 0x2a }                              

     Source : <0x00055ec4> { _mnt_want_write + 0xa0 } JUMP.S                       

  13 Target : <0x00055eb8> { _mnt_want_write + 0x94 }                              

     Source : <0x00055e8a> { _mnt_want_write + 0x66 } IF !CC JUMP                  

  14 Target : <0x00055e7e> { _mnt_want_write + 0x5a }                              

     Source : <0x00055e4a> { _mnt_want_write + 0x26 } IF CC JUMP                   

  15 Target : <0x00055e46> { _mnt_want_write + 0x22 }                              

     Source : <0x00053f46> { ___mnt_is_readonly + 0x16 } RTS                       

                                 

 

Kernel Stack          

Stack info:

SP: [0x03249f24] <0x03249f24> /* kernel dynamic memory */

Memory from 0x03249f20 to 0324a000

03249f20: 032605dc [03282256] 00008000  00060000  00000000  0324a000  03282256

03282256

03249f40:<032a0ec0><ffa00dd0> 02001025  03292979  0328cc2b  03292972  0328cc2a

00000000

03249f60: 00000000  00000000  00000000  00000000  00000000  00000000  00000000

00000000

03249f80: 00000000  00000000  00000000  00000000  00000000  00000000  00000000

00000000

03249fa0: 00000000  00000000  00000000  0324c004  032605a4  032e5b28  032e5b34

032e5fdb

03249fc0: 03244004  03260640  03244781  03260633  0000000b  00000000  0326062c

032605dc

03249fe0: 00000001  00000003  032605dc  03260640  03244776  03244776  0000000b

00000006

0324a000: 00000028

Return addresses in stack:

    address : <0x032a0ec0> [ sh + 0x20e80 ]

    address : <0xffa00dd0> { _evt_system_call + 0x64 }

Modules linked in: load(P) vtty uart sport(P) cfi_cmdset_0002

Kernel panic - not syncing: Kernel exception

 

 

Is it because of some where it is overwriting the kernel code?

 

Could you please help me

 

I am using bf537-stamp board

 

uClinu-dist: Revision: 7900

 

Regards

 

Parimala

QuoteReplyEditDelete

 

 

2009-04-28 08:27:30     Re: Not able to run telnet command

Mike Frysinger (UNITED STATES)

Message: 73359   

 

post the exact code you're using to place things into L1

QuoteReplyEditDelete

 

 

2009-04-29 00:44:06     Re: Not able to run telnet command

Parimala Baggiri (INDIA)

Message: 73399   

 

Hello Mike,

 

                    I am using dma_memcpy to put my code into L1, following are the number of bytes I copied into the memory locations

 

dest address - 0xFF901000

 

No Of Bytes  - 0x454

 

dest address - 0xFF901454

 

No Of Bytes -0x2B60

 

dest address - 0xFFA08000

 

No Of Bytes - 0x3FB4

 

Thank you.

 

Regrads

 

Parimala

QuoteReplyEditDelete

 

 

2009-04-29 00:58:57     Re: Not able to run telnet command

Mike Frysinger (UNITED STATES)

Message: 73400   

 

you cant just pick random L1 addresses.  you must request regions from the kernel using the L1 allocator:

  docs.blackfin.uclinux.org/doku.php?id=using_l1_memory

 

if you dont, things will fail randomly, and there isnt anything we can do about it.

Attachments

    Outcomes