All of lore.kernel.org
 help / color / mirror / Atom feed
* 750gx cpufreq induced kernel panic in 2.6.36
@ 2011-01-25 23:54 kevin diggs
  2011-01-26  4:32 ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 6+ messages in thread
From: kevin diggs @ 2011-01-25 23:54 UTC (permalink / raw)
  To: linuxppc-dev

Hi,

The cpufreq driver I wrote for the 750gx causes a kernel panic in 2.6.36.

This is from a screen shot:

[c6035f30] [c001014c] timer_interrupt+0x13c/0x19c
[c6035f40] [c0013294] ret_from_except+0x0/0x14
--- Exception: 901 at 0x1000c694
    LR = 0x1000f3e4
Instruction dump:
4bffff48 38610008 4be7b2b1 4bffff9c 9421fff0 7c0802a6 bfc10xxx
90010014 7c0000a6 68008000 54008ffe <0f000000> 3d20c030 2f84xxxx
Kernel panic - not syncing: Fatal exception in interrupt
Call Trace:
[c6035bf0] [c00084e4] show_stack+0x3c/0x160 (unreliable)
[c6035c20] [c002cf44] panic+0xa4/0x1c8
[c6035c70] [c001085c] die+0x194/0x1a0
[c6035c90] [c0010aa8] _exception+0xfc/0x108
[c6035d80] [c0013248] ret_from_except_full+0x0/0x4c
--- Exception: 700 at cpufreq_notify_transition+0x20/0x128
    LR = cf750gx_pll_switch_cb+0x20/0xd0 [cf750gx]
[c6035e40] [c02e2280] 0xc02e2280 (unreliable)
[c6035e50] [ddc4b3dc] cf750gx_pll_switch_cb+0x20/0xd0 [cf750gx]
[c6035e60] [c004d7ac] notifier_call_chain+0x60/0xb0
[c6035e80] [ddc361c4] pllif_i_switch_PLLs+0xa0/0x140 [pll_if]
[c6035e90] [ddc365fc] pllif_i_timer_f+0x4c/0x6c [pll_if]
[c6035ea0] [c004bb24] __run_hrtimer+0x44/0xb8
[c6035eb0] [c004c1f8] hrtimer_interrupt+0x10c/0x388
[c6035f30] [c001014c] timer_interrupt+0x13c/0x19c
[c6035f40] [c0013294] ret_from_except+0x0/0x14
--- Exception: 901 at 0x1000c694
    LR = 0x1000f3e4
Rebooting in 180 seconds.._

What are exception 700 & 901?

The 0x1000c694 address looks fishy?

Thanks!

kevin

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 750gx cpufreq induced kernel panic in 2.6.36
  2011-01-25 23:54 750gx cpufreq induced kernel panic in 2.6.36 kevin diggs
@ 2011-01-26  4:32 ` Benjamin Herrenschmidt
  2011-01-26 17:20   ` kevin diggs
  0 siblings, 1 reply; 6+ messages in thread
From: Benjamin Herrenschmidt @ 2011-01-26  4:32 UTC (permalink / raw)
  To: kevin diggs; +Cc: linuxppc-dev

On Tue, 2011-01-25 at 17:54 -0600, kevin diggs wrote:
> Hi,
> 
> The cpufreq driver I wrote for the 750gx causes a kernel panic in 2.6.36.
> 
> This is from a screen shot:
> 
> [c6035f30] [c001014c] timer_interrupt+0x13c/0x19c
> [c6035f40] [c0013294] ret_from_except+0x0/0x14
> --- Exception: 901 at 0x1000c694
>     LR = 0x1000f3e4
> Instruction dump:
> 4bffff48 38610008 4be7b2b1 4bffff9c 9421fff0 7c0802a6 bfc10xxx
> 90010014 7c0000a6 68008000 54008ffe <0f000000> 3d20c030 2f84xxxx
> Kernel panic - not syncing: Fatal exception in interrupt
> Call Trace:
> [c6035bf0] [c00084e4] show_stack+0x3c/0x160 (unreliable)
> [c6035c20] [c002cf44] panic+0xa4/0x1c8
> [c6035c70] [c001085c] die+0x194/0x1a0
> [c6035c90] [c0010aa8] _exception+0xfc/0x108
> [c6035d80] [c0013248] ret_from_except_full+0x0/0x4c
> --- Exception: 700 at cpufreq_notify_transition+0x20/0x128
>     LR = cf750gx_pll_switch_cb+0x20/0xd0 [cf750gx]
> [c6035e40] [c02e2280] 0xc02e2280 (unreliable)
> [c6035e50] [ddc4b3dc] cf750gx_pll_switch_cb+0x20/0xd0 [cf750gx]
> [c6035e60] [c004d7ac] notifier_call_chain+0x60/0xb0
> [c6035e80] [ddc361c4] pllif_i_switch_PLLs+0xa0/0x140 [pll_if]
> [c6035e90] [ddc365fc] pllif_i_timer_f+0x4c/0x6c [pll_if]
> [c6035ea0] [c004bb24] __run_hrtimer+0x44/0xb8
> [c6035eb0] [c004c1f8] hrtimer_interrupt+0x10c/0x388
> [c6035f30] [c001014c] timer_interrupt+0x13c/0x19c
> [c6035f40] [c0013294] ret_from_except+0x0/0x14
> --- Exception: 901 at 0x1000c694
>     LR = 0x1000f3e4
> Rebooting in 180 seconds.._
> 
> What are exception 700 & 901?

700 is a program check (illegal instruction or BUG_ON() statement)

900 is decrementer (aka timer) interrupt.

> The 0x1000c694 address looks fishy?

That's userspace.

So you took a timer interrupt, which got into hrtimer, and something you
did caused cpufreq_notify_transition to crash, probably with a BUG_ON
(which you can probably see above what you pasted, unless you don't have
access to that part of the backtrace).

Cheers,
Ben.

> Thanks!
> 
> kevin
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 750gx cpufreq induced kernel panic in 2.6.36
  2011-01-26  4:32 ` Benjamin Herrenschmidt
@ 2011-01-26 17:20   ` kevin diggs
  2011-01-26 21:43     ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 6+ messages in thread
From: kevin diggs @ 2011-01-26 17:20 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: linuxppc-dev

On Tue, Jan 25, 2011 at 10:32 PM, Benjamin Herrenschmidt
<benh@kernel.crashing.org> wrote:
>>
>> What are exception 700 & 901?
>
> 700 is a program check (illegal instruction or BUG_ON() statement)
>
> 900 is decrementer (aka timer) interrupt.
>
>> The 0x1000c694 address looks fishy?
>
> That's userspace.
>
> So you took a timer interrupt, which got into hrtimer, and something you
> did caused cpufreq_notify_transition to crash, probably with a BUG_ON

This should prove quite useful! Thanks!

> (which you can probably see above what you pasted, unless you don't have
> access to that part of the backtrace).
>
This is kind of my problem. ANY suggestions (applicable to an old
world PowerMac) would be appreciated on how to get access to the rest
of the information. This thing appears completely dead at this point.

Thanks!

kevin

P.S.:  There are 2 columns of numbers:

[xxx] [yyy]

One of these is the PC. What is the other? stack?

> Cheers,
> Ben.
>
>> Thanks!
>>
>> kevin
>> _______________________________________________
>> Linuxppc-dev mailing list
>> Linuxppc-dev@lists.ozlabs.org
>> https://lists.ozlabs.org/listinfo/linuxppc-dev
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 750gx cpufreq induced kernel panic in 2.6.36
  2011-01-26 17:20   ` kevin diggs
@ 2011-01-26 21:43     ` Benjamin Herrenschmidt
  2011-01-27  3:59       ` kevin diggs
  0 siblings, 1 reply; 6+ messages in thread
From: Benjamin Herrenschmidt @ 2011-01-26 21:43 UTC (permalink / raw)
  To: kevin diggs; +Cc: linuxppc-dev

On Wed, 2011-01-26 at 11:20 -0600, kevin diggs wrote:
> This is kind of my problem. ANY suggestions (applicable to an old
> world PowerMac) would be appreciated on how to get access to the rest
> of the information. This thing appears completely dead at this point. 

You don't have a serial port ?

If you do, use "sccdbg" on the kernel command line to route xmon to it,
and boot with console=ttyPZ0,38400 (I think the old things default to
38400 bauds). Use the "modem" port.

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 750gx cpufreq induced kernel panic in 2.6.36
  2011-01-26 21:43     ` Benjamin Herrenschmidt
@ 2011-01-27  3:59       ` kevin diggs
  2011-01-27  4:25         ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 6+ messages in thread
From: kevin diggs @ 2011-01-27  3:59 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: linuxppc-dev

On Wed, Jan 26, 2011 at 3:43 PM, Benjamin Herrenschmidt
<benh@kernel.crashing.org> wrote:
>
> You don't have a serial port ?
>
Yeah, just did not know what to do with them?

> If you do, use "sccdbg" on the kernel command line to route xmon to it,
> and boot with console=ttyPZ0,38400 (I think the old things default to
> 38400 bauds). Use the "modem" port.
>
Ok! Thanks!

One thing. The 2.6 driver for the serial ports on this machine does
not work very well. Can I use a slower speed to avoid missing stuff?

And I'll need to build the serial stuff into the kernel, right?

Thanks for the reply!

> Cheers,
> Ben.
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 750gx cpufreq induced kernel panic in 2.6.36
  2011-01-27  3:59       ` kevin diggs
@ 2011-01-27  4:25         ` Benjamin Herrenschmidt
  0 siblings, 0 replies; 6+ messages in thread
From: Benjamin Herrenschmidt @ 2011-01-27  4:25 UTC (permalink / raw)
  To: kevin diggs; +Cc: linuxppc-dev

On Wed, 2011-01-26 at 21:59 -0600, kevin diggs wrote:
> Ok! Thanks!
> 
> One thing. The 2.6 driver for the serial ports on this machine does
> not work very well. Can I use a slower speed to avoid missing stuff?

pmac zilog ? It should work fine on tx... unless your receiving side is
the one with a problem or we have a bug :-)

> And I'll need to build the serial stuff into the kernel, right?

Yes.

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-01-27  4:26 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-25 23:54 750gx cpufreq induced kernel panic in 2.6.36 kevin diggs
2011-01-26  4:32 ` Benjamin Herrenschmidt
2011-01-26 17:20   ` kevin diggs
2011-01-26 21:43     ` Benjamin Herrenschmidt
2011-01-27  3:59       ` kevin diggs
2011-01-27  4:25         ` Benjamin Herrenschmidt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.