Oops in kthread

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi All,

Today I debug one kernel thread created by kthread_run. And after
several hours run, there is one Oops coming from kthread. Please see
below mesage:
====================
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pc = 00000000
*pde = 00000000
Oops: 0000 [#1]

Pid : 261, Comm:      CallbackManager
PC is at 0x0
PC  : 00000000 SP  : 869bbf8c SR  : 40008100 TEA : c016db88    Tainted: P
R0  : 00000000 R1  : 00000000 R2  : 005770c5 R3  : 40008101
R4  : 8b000006 R5  : 00000003 R6  : 07b1ce60 R7  : 00000079
R8  : c01c0800 R9  : 07b1ce60 R10 : 00000003 R11 : 00000000
R12 : 0000004c R13 : 00000000 R14 : 00000079
MACH: 0000025c MACL: 000001c8 GBR : 00000000 PR  : c01b514a

Call trace:
[<8442d184>] kthread+0xe4/0x140
[<c01b4f80>] CallbackManager+0x0/0x2c0 [fdma]
[<8440f4c0>] complete+0x0/0xc0
[<8442d080>] kthread_should_stop+0x0/0x20
[<84403004>] kernel_thread_helper+0x4/0x20

Then I do objdump the kernel/kthread.c. Please see attached dumped
contents. And find the offset 0xe4. The assembly line code is:
e4:	08 20       	tst	r0,r0

Does anybody can explain to me which C code in kthread create this
Oops?Is there any easy way to translate assembly code to C?

best regards

Liu haixiang
kthread.o:     file format elf32-sh-linux

Disassembly of section .text:

00000000 <kthread_should_stop>:
   0:	f2 01       	stc	r7_bank,r1
   2:	12 62       	mov.l	@r1,r2
   4:	02 d1       	mov.l	10 <kthread_should_stop+0x10>,r1	! 0x4
   6:	12 61       	mov.l	@r1,r1
   8:	20 31       	cmp/eq	r2,r1
   a:	0b 00       	rts	
   c:	29 00       	movt	r0
   e:	09 00       	nop	
  10:	04 00       	mov.b	r0,@(r0,r0)
  12:	00 00       	.word 0x0000
  14:	09 00       	nop	
  16:	09 00       	nop	
  18:	09 00       	nop	
  1a:	09 00       	nop	
  1c:	09 00       	nop	
  1e:	09 00       	nop	

00000020 <kthread>:
  20:	86 2f       	mov.l	r8,@-r15
  22:	fc e1       	mov	#-4,r1
  24:	96 2f       	mov.l	r9,@-r15
  26:	a6 2f       	mov.l	r10,@-r15
  28:	b6 2f       	mov.l	r11,@-r15
  2a:	43 6b       	mov	r4,r11
  2c:	c6 2f       	mov.l	r12,@-r15
  2e:	d6 2f       	mov.l	r13,@-r15
  30:	e6 2f       	mov.l	r14,@-r15
  32:	22 4f       	sts.l	pr,@-r15
  34:	f2 09       	stc	r7_bank,r9
  36:	f4 7f       	add	#-12,r15
  38:	78 9d       	mov.w	12c <kthread+0x10c>,r13	! 0x23c
  3a:	12 1f       	mov.l	r1,@(8,r15)
  3c:	3d d1       	mov.l	134 <kthread+0x114>,r1	! 0x0 <kthread_should_stop>
  3e:	92 68       	mov.l	@r9,r8
  40:	83 64       	mov	r8,r4
  42:	0b 41       	jsr	@r1
  44:	83 6a       	mov	r8,r10
  46:	3c de       	mov.l	138 <kthread+0x118>,r14	! 0x23c
  48:	dc 3a       	add	r13,r10
  4a:	eb 52       	mov.l	@(44,r14),r2
  4c:	2b 1a       	mov.l	r2,@(44,r10)
  4e:	02 01       	stc	sr,r1
  50:	13 60       	mov	r1,r0
  52:	f0 cb       	or	#-16,r0
  54:	0e 40       	ldc	r0,sr
  56:	13 60       	mov	r1,r0
  58:	f0 c9       	and	#-16,r0
  5a:	68 9c       	mov.w	12e <kthread+0x10e>,r12	! 0xf0
  5c:	f0 c9       	and	#-16,r0
  5e:	22 61       	mov.l	@r2,r1
  60:	c0 30       	cmp/eq	r12,r0
  62:	01 71       	add	#1,r1
  64:	06 8d       	bt.s	74 <kthread+0x54>
  66:	12 22       	mov.l	r1,@r2
  68:	62 91       	mov.w	130 <kthread+0x110>,r1	! 0xff0f
  6a:	02 02       	stc	sr,r2
  6c:	19 22       	and	r1,r2
  6e:	e2 01       	stc	r6_bank,r1
  70:	1b 22       	or	r1,r2
  72:	0e 42       	ldc	r2,sr
  74:	31 d1       	mov.l	13c <kthread+0x11c>,r1	! 0x0 <kthread_should_stop>
  76:	0b 41       	jsr	@r1
  78:	83 64       	mov	r8,r4
  7a:	92 61       	mov.l	@r9,r1
  7c:	ec 52       	mov.l	@(48,r14),r2
  7e:	dc 31       	add	r13,r1
  80:	2c 11       	mov.l	r2,@(48,r1)
  82:	ac 52       	mov.l	@(48,r10),r2
  84:	02 01       	stc	sr,r1
  86:	13 60       	mov	r1,r0
  88:	f0 cb       	or	#-16,r0
  8a:	0e 40       	ldc	r0,sr
  8c:	13 60       	mov	r1,r0
  8e:	f0 c9       	and	#-16,r0
  90:	22 61       	mov.l	@r2,r1
  92:	f0 c9       	and	#-16,r0
  94:	c0 30       	cmp/eq	r12,r0
  96:	01 71       	add	#1,r1
  98:	06 8d       	bt.s	a8 <kthread+0x88>
  9a:	12 22       	mov.l	r1,@r2
  9c:	48 91       	mov.w	130 <kthread+0x110>,r1	! 0xff0f
  9e:	02 02       	stc	sr,r2
  a0:	19 22       	and	r1,r2
  a2:	e2 01       	stc	r6_bank,r1
  a4:	1b 22       	or	r1,r2
  a6:	0e 42       	ldc	r2,sr
  a8:	25 d0       	mov.l	140 <kthread+0x120>,r0	! 0x0 <kthread_should_stop>
  aa:	ff e1       	mov	#-1,r1
  ac:	f3 65       	mov	r15,r5
  ae:	00 e6       	mov	#0,r6
  b0:	b2 6c       	mov.l	@r11,r12
  b2:	00 e4       	mov	#0,r4
  b4:	b1 5a       	mov.l	@(4,r11),r10
  b6:	11 1f       	mov.l	r1,@(4,r15)
  b8:	0b 40       	jsr	@r0
  ba:	12 2f       	mov.l	r1,@r15
  bc:	21 d1       	mov.l	144 <kthread+0x124>,r1	! 0x0 <kthread_should_stop>
  be:	22 d8       	mov.l	148 <kthread+0x128>,r8	! 0x0 <kthread_should_stop>
  c0:	0b 41       	jsr	@r1
  c2:	92 64       	mov.l	@r9,r4
  c4:	92 62       	mov.l	@r9,r2
  c6:	01 e1       	mov	#1,r1
  c8:	20 d9       	mov.l	14c <kthread+0x12c>,r9	! 0x0 <kthread_should_stop>
  ca:	b3 64       	mov	r11,r4
  cc:	12 22       	mov.l	r1,@r2
  ce:	0b 49       	jsr	@r9
  d0:	08 74       	add	#8,r4
  d2:	1f d1       	mov.l	150 <kthread+0x130>,r1	! 0x0 <kthread_should_stop>
  d4:	0b 41       	jsr	@r1
  d6:	09 00       	nop	
  d8:	0b 48       	jsr	@r8
  da:	09 00       	nop	
  dc:	08 20       	tst	r0,r0
  de:	0f 89       	bt	100 <kthread+0xe0>
  e0:	0b 48       	jsr	@r8
  e2:	09 00       	nop	
  e4:	08 20       	tst	r0,r0
  e6:	11 8b       	bf	10c <kthread+0xec>
  e8:	00 e0       	mov	#0,r0
  ea:	0c 7f       	add	#12,r15
  ec:	26 4f       	lds.l	@r15+,pr
  ee:	f6 6e       	mov.l	@r15+,r14
  f0:	f6 6d       	mov.l	@r15+,r13
  f2:	f6 6c       	mov.l	@r15+,r12
  f4:	f6 6b       	mov.l	@r15+,r11
  f6:	f6 6a       	mov.l	@r15+,r10
  f8:	f6 69       	mov.l	@r15+,r9
  fa:	0b 00       	rts	
  fc:	f6 68       	mov.l	@r15+,r8
  fe:	09 00       	nop	
 100:	0b 4c       	jsr	@r12
 102:	a3 64       	mov	r10,r4
 104:	0b 48       	jsr	@r8
 106:	02 1f       	mov.l	r0,@(8,r15)
 108:	08 20       	tst	r0,r0
 10a:	ed 89       	bt	e8 <kthread+0xc8>
 10c:	f2 51       	mov.l	@(8,r15),r1
 10e:	11 d4       	mov.l	154 <kthread+0x134>,r4	! 0x4
 110:	11 14       	mov.l	r1,@(4,r4)
 112:	0b 49       	jsr	@r9
 114:	08 74       	add	#8,r4
 116:	00 e0       	mov	#0,r0
 118:	0c 7f       	add	#12,r15
 11a:	26 4f       	lds.l	@r15+,pr
 11c:	f6 6e       	mov.l	@r15+,r14
 11e:	f6 6d       	mov.l	@r15+,r13
 120:	f6 6c       	mov.l	@r15+,r12
 122:	f6 6b       	mov.l	@r15+,r11
 124:	f6 6a       	mov.l	@r15+,r10
 126:	f6 69       	mov.l	@r15+,r9
 128:	0b 00       	rts	
 12a:	f6 68       	mov.l	@r15+,r8
 12c:	3c 02       	mov.b	@(r0,r3),r2
 12e:	f0 00       	.word 0x00f0
 130:	0f ff       	.word 0xff0f
 132:	09 00       	nop	
 134:	00 00       	.word 0x0000
 136:	00 00       	.word 0x0000
 138:	3c 02       	mov.b	@(r0,r3),r2
	...
 152:	00 00       	.word 0x0000
 154:	04 00       	mov.b	r0,@(r0,r0)
 156:	00 00       	.word 0x0000
 158:	09 00       	nop	
 15a:	09 00       	nop	
 15c:	09 00       	nop	
 15e:	09 00       	nop	

00000160 <keventd_create_kthread>:
 160:	14 d0       	mov.l	1b4 <keventd_create_kthread+0x54>,r0	! 0x0 <kthread_should_stop>
 162:	86 2f       	mov.l	r8,@-r15
 164:	96 2f       	mov.l	r9,@-r15
 166:	43 69       	mov	r4,r9
 168:	22 4f       	sts.l	pr,@-r15
 16a:	13 d4       	mov.l	1b8 <keventd_create_kthread+0x58>,r4	! 0x20 <kthread>
 16c:	20 96       	mov.w	1b0 <keventd_create_kthread+0x50>,r6	! 0x611
 16e:	0b 40       	jsr	@r0
 170:	93 65       	mov	r9,r5
 172:	11 40       	cmp/pz	r0
 174:	14 8f       	bf.s	1a0 <keventd_create_kthread+0x40>
 176:	03 68       	mov	r0,r8
 178:	10 d1       	mov.l	1bc <keventd_create_kthread+0x5c>,r1	! 0x0 <kthread_should_stop>
 17a:	93 64       	mov	r9,r4
 17c:	0b 41       	jsr	@r1
 17e:	08 74       	add	#8,r4
 180:	0f d0       	mov.l	1c0 <keventd_create_kthread+0x60>,r0	! 0x0 <kthread_should_stop>
 182:	83 65       	mov	r8,r5
 184:	0b 40       	jsr	@r0
 186:	00 e4       	mov	#0,r4
 188:	05 19       	mov.l	r0,@(20,r9)
 18a:	93 64       	mov	r9,r4
 18c:	26 4f       	lds.l	@r15+,pr
 18e:	0d d1       	mov.l	1c4 <keventd_create_kthread+0x64>,r1	! 0x0 <kthread_should_stop>
 190:	18 74       	add	#24,r4
 192:	f6 69       	mov.l	@r15+,r9
 194:	2b 41       	jmp	@r1
 196:	f6 68       	mov.l	@r15+,r8
 198:	09 00       	nop	
 19a:	09 00       	nop	
 19c:	09 00       	nop	
 19e:	09 00       	nop	
 1a0:	05 19       	mov.l	r0,@(20,r9)
 1a2:	93 64       	mov	r9,r4
 1a4:	26 4f       	lds.l	@r15+,pr
 1a6:	07 d1       	mov.l	1c4 <keventd_create_kthread+0x64>,r1	! 0x0 <kthread_should_stop>
 1a8:	18 74       	add	#24,r4
 1aa:	f6 69       	mov.l	@r15+,r9
 1ac:	2b 41       	jmp	@r1
 1ae:	f6 68       	mov.l	@r15+,r8
 1b0:	11 06       	.word 0x0611
 1b2:	09 00       	nop	
 1b4:	00 00       	.word 0x0000
 1b6:	00 00       	.word 0x0000
 1b8:	20 00       	.word 0x0020
	...
 1c6:	00 00       	.word 0x0000
 1c8:	09 00       	nop	
 1ca:	09 00       	nop	
 1cc:	09 00       	nop	
 1ce:	09 00       	nop	
 1d0:	09 00       	nop	
 1d2:	09 00       	nop	
 1d4:	09 00       	nop	
 1d6:	09 00       	nop	
 1d8:	09 00       	nop	
 1da:	09 00       	nop	
 1dc:	09 00       	nop	
 1de:	09 00       	nop	

000001e0 <kthread_create>:
 1e0:	76 2f       	mov.l	r7,@-r15
 1e2:	00 e2       	mov	#0,r2
 1e4:	86 2f       	mov.l	r8,@-r15
 1e6:	63 68       	mov	r6,r8
 1e8:	22 4f       	sts.l	pr,@-r15
 1ea:	a4 7f       	add	#-92,r15
 1ec:	2a d3       	mov.l	298 <kthread_create+0xb8>,r3	! 0x4b87ad6e
 1ee:	f3 61       	mov	r15,r1
 1f0:	28 71       	add	#40,r1
 1f2:	f3 67       	mov	r15,r7
 1f4:	1a 1f       	mov.l	r1,@(40,r15)
 1f6:	24 77       	add	#36,r7
 1f8:	1b 1f       	mov.l	r1,@(44,r15)
 1fa:	14 71       	add	#20,r1
 1fc:	27 17       	mov.l	r2,@(28,r7)
 1fe:	33 11       	mov.l	r3,@(12,r1)
 200:	d0 71       	add	#-48,r1
 202:	28 17       	mov.l	r2,@(32,r7)
 204:	2a 17       	mov.l	r2,@(40,r7)
 206:	2b 17       	mov.l	r2,@(44,r7)
 208:	2c 17       	mov.l	r2,@(48,r7)
 20a:	13 1f       	mov.l	r1,@(12,r15)
 20c:	14 1f       	mov.l	r1,@(16,r15)
 20e:	10 71       	add	#16,r1
 210:	17 1f       	mov.l	r1,@(28,r15)
 212:	18 1f       	mov.l	r1,@(32,r15)
 214:	21 d1       	mov.l	29c <kthread_create+0xbc>,r1	! 0x0 <kthread_should_stop>
 216:	22 1f       	mov.l	r2,@(8,r15)
 218:	26 1f       	mov.l	r2,@(24,r15)
 21a:	42 2f       	mov.l	r4,@r15
 21c:	12 64       	mov.l	@r1,r4
 21e:	20 d6       	mov.l	2a0 <kthread_create+0xc0>,r6	! 0x160 <keventd_create_kthread>
 220:	48 24       	tst	r4,r4
 222:	29 1f       	mov.l	r2,@(36,r15)
 224:	2e 1f       	mov.l	r2,@(56,r15)
 226:	2f 1f       	mov.l	r2,@(60,r15)
 228:	6c 1f       	mov.l	r6,@(48,r15)
 22a:	fd 1f       	mov.l	r15,@(52,r15)
 22c:	18 8f       	bf.s	260 <kthread_create+0x80>
 22e:	51 1f       	mov.l	r5,@(4,r15)
 230:	0b 46       	jsr	@r6
 232:	f3 64       	mov	r15,r4
 234:	f5 50       	mov.l	@(20,r15),r0
 236:	2d 91       	mov.w	294 <kthread_create+0xb4>,r1	! 0xfc18
 238:	16 30       	cmp/hi	r1,r0
 23a:	1c 8b       	bf	276 <kthread_create+0x96>
 23c:	5c 7f       	add	#92,r15
 23e:	26 4f       	lds.l	@r15+,pr
 240:	f6 68       	mov.l	@r15+,r8
 242:	0b 00       	rts	
 244:	04 7f       	add	#4,r15
 246:	09 00       	nop	
 248:	09 00       	nop	
 24a:	09 00       	nop	
 24c:	09 00       	nop	
 24e:	09 00       	nop	
 250:	09 00       	nop	
 252:	09 00       	nop	
 254:	09 00       	nop	
 256:	09 00       	nop	
 258:	09 00       	nop	
 25a:	09 00       	nop	
 25c:	09 00       	nop	
 25e:	09 00       	nop	
 260:	10 d0       	mov.l	2a4 <kthread_create+0xc4>,r0	! 0x0 <kthread_should_stop>
 262:	0b 40       	jsr	@r0
 264:	73 65       	mov	r7,r5
 266:	10 d1       	mov.l	2a8 <kthread_create+0xc8>,r1	! 0x0 <kthread_should_stop>
 268:	f3 64       	mov	r15,r4
 26a:	0b 41       	jsr	@r1
 26c:	18 74       	add	#24,r4
 26e:	f5 50       	mov.l	@(20,r15),r0
 270:	10 91       	mov.w	294 <kthread_create+0xb4>,r1	! 0xfc18
 272:	16 30       	cmp/hi	r1,r0
 274:	e2 89       	bt	23c <kthread_create+0x5c>
 276:	03 64       	mov	r0,r4
 278:	0c d0       	mov.l	2ac <kthread_create+0xcc>,r0	! 0x0 <kthread_should_stop>
 27a:	0c 91       	mov.w	296 <kthread_create+0xb6>,r1	! 0x1a4
 27c:	10 e5       	mov	#16,r5
 27e:	83 66       	mov	r8,r6
 280:	64 e7       	mov	#100,r7
 282:	1c 34       	add	r1,r4
 284:	0b 40       	jsr	@r0
 286:	fc 37       	add	r15,r7
 288:	f5 50       	mov.l	@(20,r15),r0
 28a:	5c 7f       	add	#92,r15
 28c:	26 4f       	lds.l	@r15+,pr
 28e:	f6 68       	mov.l	@r15+,r8
 290:	0b 00       	rts	
 292:	04 7f       	add	#4,r15
 294:	18 fc       	.word 0xfc18
 296:	a4 01       	mov.b	r10,@(r0,r1)
 298:	6e ad       	bra	fffffd78 <kthread_stop+0xfffffa78>
 29a:	87 4b       	ldc.l	@r11+,r0_bank
 29c:	00 00       	.word 0x0000
 29e:	00 00       	.word 0x0000
 2a0:	60 01       	.word 0x0160
	...
 2ae:	00 00       	.word 0x0000
 2b0:	09 00       	nop	
 2b2:	09 00       	nop	
 2b4:	09 00       	nop	
 2b6:	09 00       	nop	
 2b8:	09 00       	nop	
 2ba:	09 00       	nop	
 2bc:	09 00       	nop	
 2be:	09 00       	nop	

000002c0 <kthread_bind>:
 2c0:	86 2f       	mov.l	r8,@-r15
 2c2:	43 68       	mov	r4,r8
 2c4:	96 2f       	mov.l	r9,@-r15
 2c6:	53 69       	mov	r5,r9
 2c8:	22 4f       	sts.l	pr,@-r15
 2ca:	42 60       	mov.l	@r4,r0
 2cc:	01 88       	cmp/eq	#1,r0
 2ce:	07 8b       	bf	2e0 <kthread_bind+0x20>
 2d0:	26 4f       	lds.l	@r15+,pr
 2d2:	01 e1       	mov	#1,r1
 2d4:	9d 41       	shld	r9,r1
 2d6:	f6 69       	mov.l	@r15+,r9
 2d8:	40 78       	add	#64,r8
 2da:	12 18       	mov.l	r1,@(8,r8)
 2dc:	0b 00       	rts	
 2de:	f6 68       	mov.l	@r15+,r8
 2e0:	04 d0       	mov.l	2f4 <kthread_bind+0x34>,r0	! 0x0 <kthread_should_stop>
 2e2:	05 d4       	mov.l	2f8 <kthread_bind+0x38>,r4	! 0x0 <kthread_should_stop>
 2e4:	05 d5       	mov.l	2fc <kthread_bind+0x3c>,r5	! 0x18
 2e6:	04 96       	mov.w	2f2 <kthread_bind+0x32>,r6	! 0x9e
 2e8:	0b 40       	jsr	@r0
 2ea:	09 00       	nop	
 2ec:	09 00       	nop	
 2ee:	f0 af       	bra	2d2 <kthread_bind+0x12>
 2f0:	26 4f       	lds.l	@r15+,pr
 2f2:	9e 00       	mov.l	@(r0,r9),r0
	...
 2fc:	18 00       	sett	
	...

00000300 <kthread_stop>:
 300:	86 2f       	mov.l	r8,@-r15
 302:	43 68       	mov	r4,r8
 304:	96 2f       	mov.l	r9,@-r15
 306:	a6 2f       	mov.l	r10,@-r15
 308:	b6 2f       	mov.l	r11,@-r15
 30a:	c6 2f       	mov.l	r12,@-r15
 30c:	d6 2f       	mov.l	r13,@-r15
 30e:	22 4f       	sts.l	pr,@-r15
 310:	53 dc       	mov.l	460 <kthread_stop+0x160>,r12	! 0x0 <kthread_should_stop>
 312:	fc 7f       	add	#-4,r15
 314:	02 01       	stc	sr,r1
 316:	13 60       	mov	r1,r0
 318:	f0 cb       	or	#-16,r0
 31a:	0e 40       	ldc	r0,sr
 31c:	13 60       	mov	r1,r0
 31e:	f0 c9       	and	#-16,r0
 320:	9b 9b       	mov.w	45a <kthread_stop+0x15a>,r11	! 0xf0
 322:	f0 c9       	and	#-16,r0
 324:	c2 63       	mov.l	@r12,r3
 326:	b0 30       	cmp/eq	r11,r0
 328:	ff 73       	add	#-1,r3
 32a:	06 8d       	bt.s	33a <kthread_stop+0x3a>
 32c:	32 2c       	mov.l	r3,@r12
 32e:	95 91       	mov.w	45c <kthread_stop+0x15c>,r1	! 0xff0f
 330:	02 02       	stc	sr,r2
 332:	19 22       	and	r1,r2
 334:	e2 01       	stc	r6_bank,r1
 336:	1b 22       	or	r1,r2
 338:	0e 42       	ldc	r2,sr
 33a:	11 43       	cmp/pz	r3
 33c:	70 8b       	bf	420 <kthread_stop+0x120>
 33e:	02 01       	stc	sr,r1
 340:	13 60       	mov	r1,r0
 342:	f0 cb       	or	#-16,r0
 344:	0e 40       	ldc	r0,sr
 346:	13 60       	mov	r1,r0
 348:	f0 c9       	and	#-16,r0
 34a:	82 51       	mov.l	@(8,r8),r1
 34c:	f0 c9       	and	#-16,r0
 34e:	b0 30       	cmp/eq	r11,r0
 350:	01 71       	add	#1,r1
 352:	06 8d       	bt.s	362 <kthread_stop+0x62>
 354:	12 18       	mov.l	r1,@(8,r8)
 356:	81 91       	mov.w	45c <kthread_stop+0x15c>,r1	! 0xff0f
 358:	02 02       	stc	sr,r2
 35a:	19 22       	and	r1,r2
 35c:	e2 01       	stc	r6_bank,r1
 35e:	1b 22       	or	r1,r2
 360:	0e 42       	ldc	r2,sr
 362:	40 d9       	mov.l	464 <kthread_stop+0x164>,r9	! 0xc
 364:	00 ed       	mov	#0,r13
 366:	93 61       	mov	r9,r1
 368:	d2 29       	mov.l	r13,@r9
 36a:	04 71       	add	#4,r1
 36c:	11 19       	mov.l	r1,@(4,r9)
 36e:	11 11       	mov.l	r1,@(4,r1)
 370:	3d d0       	mov.l	468 <kthread_stop+0x168>,r0	! 0x0 <kthread_should_stop>
 372:	93 6a       	mov	r9,r10
 374:	f8 7a       	add	#-8,r10
 376:	83 64       	mov	r8,r4
 378:	0b 40       	jsr	@r0
 37a:	82 2a       	mov.l	r8,@r10
 37c:	02 01       	stc	sr,r1
 37e:	13 60       	mov	r1,r0
 380:	f0 cb       	or	#-16,r0
 382:	0e 40       	ldc	r0,sr
 384:	13 60       	mov	r1,r0
 386:	f0 c9       	and	#-16,r0
 388:	82 53       	mov.l	@(8,r8),r3
 38a:	f0 c9       	and	#-16,r0
 38c:	b0 30       	cmp/eq	r11,r0
 38e:	ff 73       	add	#-1,r3
 390:	06 8d       	bt.s	3a0 <kthread_stop+0xa0>
 392:	32 18       	mov.l	r3,@(8,r8)
 394:	62 91       	mov.w	45c <kthread_stop+0x15c>,r1	! 0xff0f
 396:	02 02       	stc	sr,r2
 398:	19 22       	and	r1,r2
 39a:	e2 01       	stc	r6_bank,r1
 39c:	1b 22       	or	r1,r2
 39e:	0e 42       	ldc	r2,sr
 3a0:	38 23       	tst	r3,r3
 3a2:	2d 89       	bt	400 <kthread_stop+0x100>
 3a4:	31 d1       	mov.l	46c <kthread_stop+0x16c>,r1	! 0x0 <kthread_should_stop>
 3a6:	0b 41       	jsr	@r1
 3a8:	93 64       	mov	r9,r4
 3aa:	d2 2a       	mov.l	r13,@r10
 3ac:	a1 58       	mov.l	@(4,r10),r8
 3ae:	02 01       	stc	sr,r1
 3b0:	13 60       	mov	r1,r0
 3b2:	f0 cb       	or	#-16,r0
 3b4:	0e 40       	ldc	r0,sr
 3b6:	13 60       	mov	r1,r0
 3b8:	f0 c9       	and	#-16,r0
 3ba:	c2 63       	mov.l	@r12,r3
 3bc:	f0 c9       	and	#-16,r0
 3be:	b0 30       	cmp/eq	r11,r0
 3c0:	01 73       	add	#1,r3
 3c2:	06 8d       	bt.s	3d2 <kthread_stop+0xd2>
 3c4:	32 2c       	mov.l	r3,@r12
 3c6:	49 91       	mov.w	45c <kthread_stop+0x15c>,r1	! 0xff0f
 3c8:	02 02       	stc	sr,r2
 3ca:	19 22       	and	r1,r2
 3cc:	e2 01       	stc	r6_bank,r1
 3ce:	1b 22       	or	r1,r2
 3d0:	0e 42       	ldc	r2,sr
 3d2:	15 43       	cmp/pl	r3
 3d4:	34 8b       	bf	440 <kthread_stop+0x140>
 3d6:	83 60       	mov	r8,r0
 3d8:	04 7f       	add	#4,r15
 3da:	26 4f       	lds.l	@r15+,pr
 3dc:	f6 6d       	mov.l	@r15+,r13
 3de:	f6 6c       	mov.l	@r15+,r12
 3e0:	f6 6b       	mov.l	@r15+,r11
 3e2:	f6 6a       	mov.l	@r15+,r10
 3e4:	f6 69       	mov.l	@r15+,r9
 3e6:	0b 00       	rts	
 3e8:	f6 68       	mov.l	@r15+,r8
 3ea:	09 00       	nop	
 3ec:	09 00       	nop	
 3ee:	09 00       	nop	
 3f0:	09 00       	nop	
 3f2:	09 00       	nop	
 3f4:	09 00       	nop	
 3f6:	09 00       	nop	
 3f8:	09 00       	nop	
 3fa:	09 00       	nop	
 3fc:	09 00       	nop	
 3fe:	09 00       	nop	
 400:	1b d1       	mov.l	470 <kthread_stop+0x170>,r1	! 0x0 <kthread_should_stop>
 402:	0b 41       	jsr	@r1
 404:	83 64       	mov	r8,r4
 406:	cd af       	bra	3a4 <kthread_stop+0xa4>
 408:	09 00       	nop	
 40a:	09 00       	nop	
 40c:	09 00       	nop	
 40e:	09 00       	nop	
 410:	09 00       	nop	
 412:	09 00       	nop	
 414:	09 00       	nop	
 416:	09 00       	nop	
 418:	09 00       	nop	
 41a:	09 00       	nop	
 41c:	09 00       	nop	
 41e:	09 00       	nop	
 420:	14 d1       	mov.l	474 <kthread_stop+0x174>,r1	! 0x0 <kthread_should_stop>
 422:	0b 41       	jsr	@r1
 424:	c3 64       	mov	r12,r4
 426:	8a af       	bra	33e <kthread_stop+0x3e>
 428:	09 00       	nop	
 42a:	09 00       	nop	
 42c:	09 00       	nop	
 42e:	09 00       	nop	
 430:	09 00       	nop	
 432:	09 00       	nop	
 434:	09 00       	nop	
 436:	09 00       	nop	
 438:	09 00       	nop	
 43a:	09 00       	nop	
 43c:	09 00       	nop	
 43e:	09 00       	nop	
 440:	0d d1       	mov.l	478 <kthread_stop+0x178>,r1	! 0x0 <kthread_should_stop>
 442:	0b 41       	jsr	@r1
 444:	c3 64       	mov	r12,r4
 446:	83 60       	mov	r8,r0
 448:	04 7f       	add	#4,r15
 44a:	26 4f       	lds.l	@r15+,pr
 44c:	f6 6d       	mov.l	@r15+,r13
 44e:	f6 6c       	mov.l	@r15+,r12
 450:	f6 6b       	mov.l	@r15+,r11
 452:	f6 6a       	mov.l	@r15+,r10
 454:	f6 69       	mov.l	@r15+,r9
 456:	0b 00       	rts	
 458:	f6 68       	mov.l	@r15+,r8
 45a:	f0 00       	.word 0x00f0
 45c:	0f ff       	.word 0xff0f
 45e:	09 00       	nop	
 460:	00 00       	.word 0x0000
 462:	00 00       	.word 0x0000
 464:	0c 00       	mov.b	@(r0,r0),r0
	...
 47a:	00 00       	.word 0x0000
 47c:	09 00       	nop	
 47e:	09 00       	nop	
Disassembly of section .init.text:

00000000 <helper_init>:
   0:	0c d0       	mov.l	34 <helper_init+0x34>,r0	! 0x0 <helper_init>
   2:	22 4f       	sts.l	pr,@-r15
   4:	0c d4       	mov.l	38 <helper_init+0x38>,r4	! 0x2c
   6:	0b 40       	jsr	@r0
   8:	01 e5       	mov	#1,r5
   a:	0c d1       	mov.l	3c <helper_init+0x3c>,r1	! 0x0 <helper_init>
   c:	08 20       	tst	r0,r0
   e:	07 8d       	bt.s	20 <helper_init+0x20>
  10:	02 21       	mov.l	r0,@r1
  12:	26 4f       	lds.l	@r15+,pr
  14:	0b 00       	rts	
  16:	00 e0       	mov	#0,r0
  18:	09 00       	nop	
  1a:	09 00       	nop	
  1c:	09 00       	nop	
  1e:	09 00       	nop	
  20:	07 d0       	mov.l	40 <helper_init+0x40>,r0	! 0x0 <helper_init>
  22:	08 d4       	mov.l	44 <helper_init+0x44>,r4	! 0x0 <helper_init>
  24:	08 d5       	mov.l	48 <helper_init+0x48>,r5	! 0x18
  26:	04 96       	mov.w	32 <helper_init+0x32>,r6	! 0xc5
  28:	0b 40       	jsr	@r0
  2a:	09 00       	nop	
  2c:	09 00       	nop	
  2e:	f1 af       	bra	14 <helper_init+0x14>
  30:	26 4f       	lds.l	@r15+,pr
  32:	c5 00       	mov.w	r12,@(r0,r0)
  34:	00 00       	.word 0x0000
  36:	00 00       	.word 0x0000
  38:	2c 00       	mov.b	@(r0,r2),r0
	...
  46:	00 00       	.word 0x0000
  48:	18 00       	sett	
  4a:	00 00       	.word 0x0000
  4c:	09 00       	nop	
  4e:	09 00       	nop	
  50:	09 00       	nop	
  52:	09 00       	nop	
  54:	09 00       	nop	
  56:	09 00       	nop	
  58:	09 00       	nop	
  5a:	09 00       	nop	
  5c:	09 00       	nop	
  5e:	09 00       	nop	

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux