[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[microblaze-uclinux] Linux hang in restore_context (PetaLinux v0.30-rc1, kernel 2.6.20-uc0)
Hi,
with my high-IRQ-load user program, I get Linux (latest PetaLinux (v0.30-rc1), kernel 2.6.20-uc0) hangs after a few minutes.
There seems to be a bad time window that raises a bug in entry.S of arch/microblaze.
Below is what I see with the xmd tool and in the linker .map file. Obviously, Linux infinitely loops in restore_context. Do you have an idea how that can be fixed?
Cheers,
Falk
C:\>xmd
Xilinx Microprocessor Debug (XMD) Engine
Xilinx EDK 9.2.01 Build EDK_Jm_SP1.2
...
MicroBlaze Processor Configuration :
-------------------------------------
Version............................4.00.b
MMU Type...........................No_MMU
No of PC Breakpoints...............2
No of Read Addr/Data Watchpoints...1
No of Write Addr/Data Watchpoints..1
Instruction Cache Support..........on
Instruction Cache Base Address.....0x80000000
Instruction Cache High Address.....0x81ffffff
Data Cache Support.................off
Exceptions Support................off
FPU Support.......................off
Hard Divider Support...............on
Hard Multiplier Support............on - (Mul32)
Barrel Shifter Support.............on
MSR clr/set Instruction Support....off
Compare Instruction Support........off
Number of FSL ports................1
Connected to MDM UART Target
Connected to "mb" target. id = 0
Starting GDB server for "mb" target (id = 0) at TCP port no 1234
Info:Processor started. Type "stop" to stop processor
RUNNING> XMD% rrd pc
pc: 80001f38
XMD% rrd pc
pc: 80001ee0
XMD% rrd pc
pc: 80001f30
XMD% rrd pc
pc: 80001f28
XMD% rrd pc
pc: 80001f18
XMD% rrd pc
pc: 80001ef0
XMD% rrd pc
pc: 80001f5c
XMD% rrd pc
pc: 80001f44
XMD% rrd pc
pc: 80001f48
XMD% rrd pc
pc: 80001f40
XMD% rrd pc
pc: 80001f34
XMD% rrd pc
pc: 80001ec0
XMD% rrd pc
pc: 80001ec4
XMD% rrd pc
pc: 80001ec8
XMD% rrd pc
pc: 80001f2c
XMD% rrd pc
pc: 80001ed0
XMD% rrd pc
pc: 80001f28
XMD% rrd pc
pc: 80001efc
XMD% rrd pc
pc: 80001ee4
XMD% rrd pc
pc: 80001eec
XMD% rrd pc
pc: 80001f5c
XMD% rrd pc
pc: 80001ec0
XMD% rrd pc
pc: 80001f48
XMD% rrd pc
pc: 80001ee0
XMD% rrd pc
pc: 80001f1c
XMD% rrd pc
pc: 80001f10
XMD% rrd pc
pc: 80001f30
XMD% rrd pc
pc: 80001ef8
XMD% rrd pc
pc: 80001ef0
XMD% rrd pc
pc: 80001f44
XMD% rrd pc
pc: 80001efc
XMD% stop
XMD% Info:User Interrupt, Processor Stopped at 0x80001ec0
XMD% rrd pc
pc: 80001ec0
XMD% rrd 14
14: 80001ec0
XMD%
------System.map-----
...
80001ebc t restore_context
80001f60 T _reset
...
------entry.S-----
restore_context:
152 /* special purpose registers */
153 lwi r11, r1, PT_FSR
154 mts rfsr, r11
155 lwi r11, r1, PT_ESR
156 mts resr, r11
157 lwi r11, r1, PT_EAR
158 mts rear, r11
159 lwi r11, r1, PT_MSR
160 mts rmsr, r11
161
162 lwi r31, r1, PT_R31
163 lwi r30, r1, PT_R30
164 lwi r29, r1, PT_R29
165 lwi r28, r1, PT_R28
166 lwi r27, r1, PT_R27
167 lwi r26, r1, PT_R26
168 lwi r25, r1, PT_R25
169 lwi r24, r1, PT_R24
170 lwi r23, r1, PT_R23
171 lwi r22, r1, PT_R22
172 lwi r21, r1, PT_R21
173 lwi r20, r1, PT_R20
174 lwi r19, r1, PT_R19
175 lwi r18, r1, PT_R18
176 lwi r17, r1, PT_R17
177 lwi r16, r1, PT_R16
178 lwi r15, r1, PT_R15
179 lwi r14, r1, PT_PC
180 lwi r13, r1, PT_R13
181 lwi r12, r1, PT_R12
182 lwi r11, r1, PT_R11
183 lwi r10, r1, PT_R10
184 lwi r9, r1, PT_R9
185 lwi r8, r1, PT_R8
186 lwi r7, r1, PT_R7
187 lwi r6, r1, PT_R6
188 lwi r5, r1, PT_R5
189 lwi r4, r1, PT_R4
190 lwi r3, r1, PT_R3
191 lwi r2, r1, PT_R2
192 lwi r1, r1, PT_R1
193 rtid r14, 0
194 nop
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/