2010-08-06 15:27:49     Actual State PREEMPT_RT Patch for Blackfin

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

2010-08-06 15:27:49     Actual State PREEMPT_RT Patch for Blackfin

Rainer Kloud (AUSTRIA)

Message: 92228   

 

Hello,

 

I'd like to ask you about the current state of the PREEMPT_RT Patch for Blackfin. Ist there actual a working release available? For which types of the blackfin processor?

 

I have downloaded the linux kernel version 2.6.33.7 and the PREEMPT_RT patch 2.6.33.7-rt29 from kernel.org. Then I have added the blackfin patch bfin_preempt-rt.patch from subversion.

When I try to run this compination on the BF533-EZKIT the kernel starts up correctly and can mount the root Filesystem from Flash (cramfs). Further the script /etc/rc completes successfully (mounting /proc, /sys, creating the device nodes, ...) and I get a shell prompt. but when I type the first char into the shell I get the following kernel panic:

 

root:/> Kernel panic - not syncing: BUG()

Hardware Trace:                        

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

     Source : <0xffa08678> { _exception_to_level5 + 0xa4 } CALL pcrel

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

     Source : <0xffa08488> { _bfin_return_from_exception + 0x18 } RTX

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

     Source : <0xffa0852c> { _ex_trap_c + 0x74 } JUMP.S            

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

     Source : <0xffa0874c> { _trap + 0x68 } JUMP (P4)              

   4 Target : <0xffa08704> { _trap + 0x20 }                        

     Source : <0xffa08700> { _trap + 0x1c } IF !CC JUMP            

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

     Source : <0xffa0ab58> { _rt_spin_lock_slowlock + 0x40 } IF CC JUMP

   6 Target : <0xffa0ab44> { _rt_spin_lock_slowlock + 0x2c }         

     Source : <0xffa0ab36> { _rt_spin_lock_slowlock + 0x1e } IF CC JUMP

   7 Target : <0xffa0ab32> { _rt_spin_lock_slowlock + 0x1a }         

     Source : <0x0000a1c2> { _add_preempt_count + 0x7e } RTS         

   8 Target : <0x0000a1be> { _add_preempt_count + 0x7a }             

     Source : <0x0000a1a4> { _add_preempt_count + 0x60 } IF CC JUMP  

   9 Target : <0x0000a180> { _add_preempt_count + 0x3c }             

     Source : <0x0000a164> { _add_preempt_count + 0x20 } IF CC JUMP  

  10 Target : <0x0000a144> { _add_preempt_count + 0x0 }              

     Source : <0xffa0ab2e> { _rt_spin_lock_slowlock + 0x16 } CALL pcrel

  11 Target : <0xffa0ab18> { _rt_spin_lock_slowlock + 0x0 }          

     Source : <0x000c4954> { _rt_spin_lock + 0x54 } JUMP.L           

  12 Target : <0x000c494c> { _rt_spin_lock + 0x4c }                  

     Source : <0x000c492e> { _rt_spin_lock + 0x2e } JUMP.S           

  13 Target : <0x000c492e> { _rt_spin_lock + 0x2e }                  

     Source : <0x000099d8> { ___might_sleep + 0xec } RTS             

  14 Target : <0x000099d2> { ___might_sleep + 0xe6 }                 

     Source : <0x00009918> { ___might_sleep + 0x2c } IF !CC JUMP     

  15 Target : <0x000098ec> { ___might_sleep + 0x0 }                  

     Source : <0x000c492a> { _rt_spin_lock + 0x2a } CALL pcrel       

Stack info:                                                          

SP: [0x00133bdc] <0x00133bdc> /* kernel dynamic memory (maybe user-space) */

FP: (0x00133f8c)                                                          

Memory from 0x00133bd0 to 00134000                                        

00133bd0: 00000021  00133bdc  00000013 [000e6c80]<000c46d8> 00133cc4  000e6c80  001086f2

00133bf0: 001086f2  001086f2  00133c18 <00004ef2> 00133cc4  ffe02014  00c9b01c  00008008

00133c10: 00000021  00133a03  0000003f  0000003f  00133a16  00129528  00000000  00133a1f

00133c30: 00129754  00000001  00133a2f  001295e8  00000000  00133a3c  001298bc  00000000

00133c50: 00133a43  00129908  00000000  00133a4c  00129ac4  00000000  00133a59  00129b9c

00133c70: 00000000  00133a6e  0012a17c  00000000  00133a77  0012a580  00000000  00133a85

00133c90: 0012a6c4  00000000  00133a8c  0012a684 <ffa0867c> 00107280  00008008  00000021

00133cb0: 00000020  00000000  00000000  00133ab8  00000480  00000480  00008008  00000021

00133cd0: 00000000  00133da0  00000480  ffa0ab5a <ffa0ab32> 00c90100  02003025  00d0c5ad

00133cf0: ffa0950c  00d0c566  ffa0950a  00000000  00000000  00000001  00000000  00000001

00133d10: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

00133d30: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00c0bc00

00133d50: ffffff68  00000000  00133de8  00caf800  00119e88  00c9b01c  00c90100  00132000

00133d70: 00c9b01d  00119e88  0000ffff  00000020  00000000  000ea990  00c90100  fffffffc

00133d90: 00c90100  00c90100  00c9b01d  00000006  0012cbe4  0012d918  0012d948  0012d97c

00133db0: 00132000  0012da18  0012e07c  0012e4f8  0012f738  0012f7f8  0012a5d4  0012c438

00133dd0: 0012cd64  0012ce38  0012dc20  00000000  00000000  00133ee4  00133ee4 <000a754a>

00133df0: 00caf800  00caf800  00c9b01c  00119e88  00000000  00000020  00000000  0012a734

00133e10: 00132000 <000a33ba><000a3bd2> 00caf800  00000000  0012be2c  0012bfac  0011b758

00133e30:<ffa0abc6> 00c9b01d  00c9b11d  00000000  00000000  00caf958  00caf940  00caf8c8

00133e50: 00caf9c0  00cafc30  00caf8ac  00caf990  00cafc14  00200200  00119e88  00caf8f4

00133e70: 0011b758 <ffa0abc6> 00caf800  00119bc4  0011b758  0011b758 <ffa0abc6> 00caf800

00133e90: 00caf8f4  0011b758 <ffa0ad2e> 00132000  0011b758 <ffa0abc6> 00caf800  00caf8f4

00133eb0: 00132000 <ffa0ad2e> 00133ec4  00133ebc  00133ebc  00000700  00000000  00132000

00133ed0: 00133f18  00133f18 <ffa0ae30> 00000000  00133f4f  00caf8ac <000a57a4> 00caf800

00133ef0: 00caf8cc  00ca26c0  00c9b11c  00c9b01c  00000001  00caf8f4 <ffa0ae30> 00caf800

00133f10: 00133f4f  00000001  00000002 <000abf7e> 00119e88  00caf800  00133f4f  00000000

00133f30: 00000020  00caf800  00133f4e <ffa09eca> 0011b758  00c75720  00000001  20002008

00133f50: 00c75744 <0002ef5e> 0011ea2c  00c75720  00132008  00132000  00132008  00000099

00133f70: 0011ea70  00133fa0 <ffa09eca> 0011b758  0002eea8  0011ea88  00000032 (00000000)

00133f90:<0001f408> 00c1fce8  0002eea8  00000000  00c75720  00000000  00000000  00000000

00133fb0: 00000000  00000000  00000000  00000000  00000000  00133fc4  00133fc4  00133fcc

00133fd0: 00133fcc  00000000  00000000  00133fdc  00133fdc <000014ee> 00000000  00000000

00133ff0: 00000000  00000000  ffffffff  00000006                                       

Return addresses in stack:                                                             

    address : <0x000c46d8> { _panic + 0x48 }                                           

    address : <0x00004ef2> { _trap_c + 0x35a }                                         

    address : <0xffa0867c> { _exception_to_level5 + 0xa8 }                             

    address : <0xffa0ab32> { _rt_spin_lock_slowlock + 0x1a }                           

    address : <0x000a754a> { _uart_start + 0x16 }                                      

    address : <0x000a33ba> { _n_tty_receive_buf + 0x29a }                              

    address : <0x000a3bd2> { _n_tty_receive_buf + 0xab2 }                              

    address : <0xffa0abc6> { _rt_spin_lock_slowlock + 0xae }                           

    address : <0xffa0abc6> { _rt_spin_lock_slowlock + 0xae }                           

    address : <0xffa0abc6> { _rt_spin_lock_slowlock + 0xae }                           

    address : <0xffa0ad2e> { _rt_spin_lock_slowlock + 0x216 }                          

    address : <0xffa0abc6> { _rt_spin_lock_slowlock + 0xae }                           

    address : <0xffa0ad2e> { _rt_spin_lock_slowlock + 0x216 }                          

    address : <0xffa0ae30> { _rt_spin_lock_slowunlock + 0x3c }                         

    address : <0x000a57a4> { _flush_to_ldisc + 0xe0 }                                  

    address : <0xffa0ae30> { _rt_spin_lock_slowunlock + 0x3c }                         

    address : <0x000abf7e> { _bfin_serial_rx_int + 0x14e }                             

    address : <0xffa09eca> { _schedule + 0x1e }                                        

    address : <0x0002ef5e> { _irq_thread + 0xb6 }                                      

    address : <0xffa09eca> { _schedule + 0x1e }                                        

   frame  1 : <0x0001f408> { _kthread + 0x58 }                                         

    address : <0x000014ee> { _kernel_thread_helper + 0x6 }

 

 

 

What goes wrong? What can I do that iIm able to use the PREEMT_RT patch.

 

Best Regards,

Rainer

 

QuoteReplyEditDelete

 

 

2010-08-10 04:13:51     Re: Actual State PREEMPT_RT Patch for Blackfin

Sonic Zhang (CHINA)

Message: 92283   

 

We have never tested the preempt_rt patch against the SVN trunk. It is planned to add this feature in 2010R1. If you can't wait for it, please use ADEOS instead.

QuoteReplyEditDelete

Attachments

    Outcomes