mpc8xx - power save modes - PIT
Patrick Mahoney
pmahoney at 8d.com
Sat Oct 12 01:59:04 EST 2002
Hi Conn,
> I forgot to mention my kernel source tree was directly from kernel.org
Fell free to correct me, but I believe the ppc patched kernel is
identical to the one at source.mvista.com. Still, I'll try with the
latest patch (2.4.18) available on kernel.org.
> When using my idle loop, does it crash right away or only when you try to
> use the PIT?
It crashes before I get a chance to load my module. I dont get to the
shell. It's got nothing to do with the PIT. Here's what my console
gives me:
i2c-algo-8xx.o: i2c mpc8xx algorithm module version 2.6.5 (20020915)
i2c-rpx.o: i2c MPC8xx module version 2.6.5 (20020915)
i2c-algo-8xx.o: scanning bus m8xx...
Machine check in kernel mode.
Caused by (from SRR1=1000): Transfer error ack signal
Oops: machine check, sig: 7
NIP: 00004038 XER: 20000000 LR: 0002B91C SP: C0143F30 REGS: c0143e80 TRAP: 0200 Not tainted
MSR: 00001000 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 00
TASK = c0141fa0[0] 'swapper' Last syscall: 120
last math 00000000 last altivec 00000000
GPR00: 00000000 C0143F30 C0141FA0 00000000 00048000 00000000 00000001 FFFFFC18
GPR08: 00000100 C015F00C C014DBFF C014DCEE 0000000D FA202210 00000000 00000000
GPR16: 00000000 00000000 00000000 00000000 42004022 00EA5F40 00000000 C0004654
GPR24: 00000000 00000000 FA200000 743D2F62 00000000 C0160000 C014DC01 55CCAA32
Call backtrace:
C0005C94 C0005CA8 C0002268 C0152544 C0002138
Kernel panic: Attempted to kill the idle task!
In idle task - not syncing
<0>Rebooting in 180 seconds..
... and it normally fives me...
i2c-core.o: i2c core module version 2.6.5 (20020915)
i2c-dev.o: i2c /dev entries driver module version 2.6.5 (20020915)
i2c-algo-8xx.o: i2c mpc8xx algorithm module version 2.6.5 (20020915)
i2c-rpx.o: i2c MPC8xx module version 2.6.5 (20020915)
i2c-algo-8xx.o: scanning bus m8xx...
(90)(a8)(aa)
i2c-proc.o version 2.6.5 (20020915)
CPM UART driver version 0.03
ttyS00 at 0x0280 is a SMC
eth0: CPM ENET Version 0.2 on SCC2, 00:10:ec:00:33:ce
Hmmm... It seems to oops in the i2c initialisation...
<recompiling...>
Ok. I took out the i2c stuff. It doesn't oops anymore... In fact, in
enters the power saving mode (doze?) you put in the idle.c file before
reaching the console! :))
Could be stuck waiting for a never-coming-interrupt? I gave the
parameter "init=/bin/sash" to the kernel... Any logical explanation to this?
> Well if you put the power saving code in the idle loop, when there
> isn't anything to do the processor sleeps. When an interrupt happens it
> wakes up to service the interrupt then checks to see if it is needed for
> other things and if not it goes back to bed (much like me ;-)). If you need
> to do something 5 seconds later a sleep call should do the trick unless
> you need more precision.
It's not a precision thing. It's not so important. It would be neat,
thats all. :)
Thanks again for your help.
Best regards,
Pat Mahoney
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list