* [parisc-linux] Oopser
@ 2001-01-13 7:34 Matthew Wilcox
2001-01-13 17:08 ` Grant Grundler
0 siblings, 1 reply; 5+ messages in thread
From: Matthew Wilcox @ 2001-01-13 7:34 UTC (permalink / raw)
To: parisc-linux
I'm interested in having a useful debugging tool written by someone who
knows the processor really well. What I basically want to be able to
do is call oopser(10 * HZ) and have the machine reliably crash in 10
seconds time (and do a register dump). that would at least tell me
where the kernel's got to.
it'd be most useful if it worked with interrupts disabled, but even
something which required interrupts to be enabled would be of some use.
--
Revolutions do not require corporate support.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [parisc-linux] Oopser
2001-01-13 7:34 [parisc-linux] Oopser Matthew Wilcox
@ 2001-01-13 17:08 ` Grant Grundler
2001-01-13 18:13 ` Matthew Wilcox
0 siblings, 1 reply; 5+ messages in thread
From: Grant Grundler @ 2001-01-13 17:08 UTC (permalink / raw)
To: Matthew Wilcox; +Cc: parisc-linux
Matthew Wilcox wrote:
>
> I'm interested in having a useful debugging tool written by someone who
> knows the processor really well. What I basically want to be able to
> do is call oopser(10 * HZ) and have the machine reliably crash in 10
> seconds time (and do a register dump). that would at least tell me
> where the kernel's got to.
static inline void oopser(unsigned long t)
{
unsigned long flags;
unsigned long addr=(unsigned long) -8L;
mdelay((t * 1000)/HZ);
/* Oopsy doopsy willy fall down and go boom :^) */
asm volatile(
" rsm 2,%0
ldwx 0(%2),%1"
: "=&r" (flags), "=r" (t) : "r" (addr) );
}
mdelay watches CR16 and doesn't need (or even want) interrupts
enabled. If you want a register dump to console, call panic
or steal^H^H^H^H^Hborrow code from panic.
Otherwise it'll be in the HPMC portion of the PIM dump.
If it's truly inlined, GR2 and PC will be preserved.
I'm pretty sure -8L (reset vector?) won't work - but anything in
0xF-space (I/O space) which isn't ever used by platform devices
should work. Offhand I can't pick an address for all platforms.
grant
> it'd be most useful if it worked with interrupts disabled, but even
> something which required interrupts to be enabled would be of some use.
>
> --
> Revolutions do not require corporate support.
>
> ---------------------------------------------------------------------------
> To unsubscribe: send e-mail to parisc-linux-request@thepuffingroup.com with
> `unsubscribe' as the subject.
>
Grant Grundler
Unix Systems Enablement Lab
+1.408.447.7253
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [parisc-linux] Oopser
2001-01-13 17:08 ` Grant Grundler
@ 2001-01-13 18:13 ` Matthew Wilcox
2001-01-13 21:45 ` LaMont Jones
0 siblings, 1 reply; 5+ messages in thread
From: Matthew Wilcox @ 2001-01-13 18:13 UTC (permalink / raw)
To: Grant Grundler; +Cc: Matthew Wilcox, parisc-linux
On Sat, Jan 13, 2001 at 09:08:38AM -0800, Grant Grundler wrote:
> > I'm interested in having a useful debugging tool written by someone who
> > knows the processor really well. What I basically want to be able to
> > do is call oopser(10 * HZ) and have the machine reliably crash in 10
> > seconds time (and do a register dump). that would at least tell me
> > where the kernel's got to.
Sorry, I wasn't precise enough. I want the rest of the kernel to continue
until the 10 seconds is up.
--
Revolutions do not require corporate support.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [parisc-linux] Oopser
2001-01-13 18:13 ` Matthew Wilcox
@ 2001-01-13 21:45 ` LaMont Jones
2001-01-14 1:53 ` Matthew Wilcox
0 siblings, 1 reply; 5+ messages in thread
From: LaMont Jones @ 2001-01-13 21:45 UTC (permalink / raw)
To: Matthew Wilcox; +Cc: Grant Grundler, parisc-linux, lamont
> Sorry, I wasn't precise enough. I want the rest of the kernel to continue
> until the 10 seconds is up.
The only way I've ever done this is to set a timer for 10 seconds, and have
the hander for said timer be panic, or reboot, or whatever you want it to
do...
That's going to require that timer interrupts work.
(I think MPE/iX _STILL_ has a routine in the kernel called delayed_reboot...)
lamont
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [parisc-linux] Oopser
2001-01-13 21:45 ` LaMont Jones
@ 2001-01-14 1:53 ` Matthew Wilcox
0 siblings, 0 replies; 5+ messages in thread
From: Matthew Wilcox @ 2001-01-14 1:53 UTC (permalink / raw)
To: LaMont Jones; +Cc: Matthew Wilcox, Grant Grundler, parisc-linux
On Sat, Jan 13, 2001 at 02:45:54PM -0700, LaMont Jones wrote:
> The only way I've ever done this is to set a timer for 10 seconds, and have
> the hander for said timer be panic, or reboot, or whatever you want it to
> do...
>
> That's going to require that timer interrupts work.
>
> (I think MPE/iX _STILL_ has a routine in the kernel called delayed_reboot...)
jsm pointed out that i can get what i want by toc'ing the machine.
which i did know at one point... it was how i debugged the c3k. doh.
--
Revolutions do not require corporate support.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2001-01-14 1:50 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-01-13 7:34 [parisc-linux] Oopser Matthew Wilcox
2001-01-13 17:08 ` Grant Grundler
2001-01-13 18:13 ` Matthew Wilcox
2001-01-13 21:45 ` LaMont Jones
2001-01-14 1:53 ` Matthew Wilcox
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox