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