Openmoko Bug #2309: hangs during resume after printing GSTATUS4
Openmoko Public Trac
bugs at docs.openmoko.org
Mon Nov 29 10:33:32 CET 2010
#2309: hangs during resume after printing GSTATUS4
--------------------+-------------------------------------------------------
Reporter: lindi | Owner: openmoko-kernel
Type: defect | Status: new
Priority: normal | Milestone:
Component: kernel | Version:
Severity: normal | Keywords: resume suspend kernel
Haspatch: 0 | Blockedby:
Estimated: | Patchreview:
Blocking: | Reproducible: rarely
--------------------+-------------------------------------------------------
Comment(by lindi):
I lost the original vmlinux file but one from a similar version shows that
there is only one function that loads c036e6c8 to r8:
{{{
c003f0bc <s3c_pm_enter>:
...
c003f168: e59f8118 ldr r8, [pc, #280] ; c003f288
<_end+0xffbf839c>
c003f16c: e59fa11c ldr sl, [pc, #284] ; c003f290
<_end+0xffbf83a4>
c003f170: e5832000 str r2, [r3]
c003f174: e1a01002 mov r1, r2
c003f178: e59f0120 ldr r0, [pc, #288] ; c003f2a0
<_end+0xffbf83b4>
c003f17c: eb0041cd bl c004f8b8 <printk>
c003f180: eb0000ae bl c003f440 <s3c_pm_save_gpios>
c003f184: ebffeb1b bl c0039df8 <s3c_pm_save_core>
c003f188: ebffeb59 bl c0039ef4 <s3c_pm_configure_extint>
c003f18c: e5981000 ldr r1, [r8]
c003f190: e59a2000 ldr r2, [sl]
c003f194: e59f0108 ldr r0, [pc, #264] ; c003f2a4
<_end+0xffbf83b8>
c003f198: eb0041c6 bl c004f8b8 <printk>
c003f19c: e59a2000 ldr r2, [sl]
c003f1a0: e5983000 ldr r3, [r8]
c003f1a4: e3a0533d mov r5, #-201326592 ; 0xf4000000
c003f1a8: e3a064fb mov r6, #-83886080 ; 0xfb000000
c003f1ac: e5853008 str r3, [r5, #8]
c003f1b0: e58620a4 str r2, [r6, #164]
c003f1b4: e59630a8 ldr r3, [r6, #168]
c003f1b8: e59f70e8 ldr r7, [pc, #232] ; c003f2a8
<_end+0xffbf83bc>
c003f1bc: e58630a8 str r3, [r6, #168]
c003f1c0: e5953010 ldr r3, [r5, #16]
c003f1c4: e3a09000 mov r9, #0 ; 0x0
c003f1c8: e5853010 str r3, [r5, #16]
c003f1cc: e5953000 ldr r3, [r5]
c003f1d0: e5853000 str r3, [r5]
c003f1d4: e59f309c ldr r3, [pc, #156] ; c003f278
<_end+0xffbf838c>
c003f1d8: e1a0e00f mov lr, pc
c003f1dc: e593f000 ldr pc, [r3]
c003f1e0: e1a0e00f mov lr, pc
c003f1e4: e597f000 ldr pc, [r7]
c003f1e8: e59f30bc ldr r3, [pc, #188] ; c003f2ac
<_end+0xffbf83c0>
c003f1ec: e1a00004 mov r0, r4
c003f1f0: e583900c str r9, [r3, #12]
c003f1f4: ebffebde bl c003a174 <s3c_cpu_save>
c003f1f8: e1500009 cmp r0, r9
c003f1fc: 1a000004 bne c003f214 <s3c_pm_enter+0x158>
c003f200: e1a0e00f mov lr, pc
c003f204: e597f000 ldr pc, [r7]
c003f208: e59f306c ldr r3, [pc, #108] ; c003f27c
<_end+0xffbf8390>
c003f20c: e1a0e00f mov lr, pc
c003f210: e593f000 ldr pc, [r3]
c003f214: ebffc432 bl c00302e4 <cpu_init>
c003f218: ebffeb02 bl c0039e28 <s3c_pm_restore_core>
c003f21c: eb00004e bl c003f35c <s3c_pm_restore_gpios>
c003f220: e5951000 ldr r1, [r5]
c003f224: e59f0084 ldr r0, [pc, #132] ; c003f2b0
<_end+0xffbf83c4>
c003f228: e59620a8 ldr r2, [r6, #168]
c003f22c: eb0041a1 bl c004f8b8 <printk>
c003f230: e5951000 ldr r1, [r5]
c003f234: e5982000 ldr r2, [r8]
c003f238: e3a00010 mov r0, #16 ; 0x10
c003f23c: ebffff48 bl c003ef64 <s3c_pm_show_resume_irqs>
c003f240: e59a2000 ldr r2, [sl]
c003f244: e59610a8 ldr r1, [r6, #168]
c003f248: e3a0002c mov r0, #44 ; 0x2c
c003f24c: ebffff44 bl c003ef64 <s3c_pm_show_resume_irqs>
c003f250: e59f1018 ldr r1, [pc, #24] ; c003f270
<_end+0xffbf8384>
c003f254: e59f0058 ldr r0, [pc, #88] ; c003f2b4
<_end+0xffbf83c8>
c003f258: eb004196 bl c004f8b8 <printk>
c003f25c: e59f0054 ldr r0, [pc, #84] ; c003f2b8
<_end+0xffbf83cc>
c003f260: eb004194 bl c004f8b8 <printk>
c003f264: e1a00009 mov r0, r9
c003f268: e24bd028 sub sp, fp, #40 ; 0x28
c003f26c: e89daff0 ldm sp, {r4, r5, r6, r7, r8, r9, sl,
fp, sp, pc}
c003f270: c02905bc .word 0xc02905bc
c003f274: c03194a0 .word 0xc03194a0
c003f278: c038c97c .word 0xc038c97c
c003f27c: c038c980 .word 0xc038c980
c003f280: c03194ac .word 0xc03194ac
c003f284: c036ce04 .word 0xc036ce04
c003f288: c036e6c8 .word 0xc036e6c8
c003f28c: c036ce08 .word 0xc036ce08
c003f290: c036e6cc .word 0xc036e6cc
c003f294: c03194d4 .word 0xc03194d4
c003f298: c03194f0 .word 0xc03194f0
c003f29c: c036ce1c .word 0xc036ce1c
c003f2a0: c0319508 .word 0xc0319508
c003f2a4: c0319528 .word 0xc0319528
c003f2a8: c038bcd4 .word 0xc038bcd4
c003f2ac: f4100000 .word 0xf4100000
c003f2b0: c0319554 .word 0xc0319554
c003f2b4: c0319578 .word 0xc0319578
c003f2b8: c03195a0 .word 0xc03195a0
}}}
Are CPU registers zeroed on suspend?
--
Ticket URL: <https://docs.openmoko.org/trac/ticket/2309#comment:16>
docs.openmoko.org <http://docs.openmoko.org/trac/>
openmoko trac
More information about the openmoko-kernel
mailing list