Re: Handling NMI in a kernel module

Alan Robertson (alanr@unix.sh)
Fri, 26 Jul 2002 15:55:16 -0600


Isabelle, Francois wrote:
> Is it possible to request_nmi() the way you can request_irq() from a kernel
> driver on the i386 arch?
>
> Our hardware watchdog is dual stage and can generate NMI on first stage ,
> our cPCI handle switch can also be used for Hot swap request via NMI.
> I'ld like to make use of this, I noticed cpqhealth module already
> implemented some nmi handling but this driver is close sourced.
>
> Should we patch in i386/kernel/traps.c to add a callback to our stuff in
> unkown_nmi_error().
>
> I'ld like my driver to register a callback there, what about maintaining a
> list of user callback functions which could be registered via:
>
> request_nmi(int option, void (*hander)(void *dev_id, struct pt_regs *regs),
> unsigned long flags, const char *dev_name, void *dev_id);
>
> where option could take meaning such as
> - prepend : place at start of nmi callback functions
> - append : place at end of nmi callback functions
> - truncate : replace callback chain
>
> Is there any standard mecanism to implement such features( dual stage
> watchdog ) ?

We've created a separate mailing list to talk about enhancements to the
watchdog driver API. Dual stage watchdog is on the list. It's pretty quiet
now, but perhaps now that summer is winding down, we can get started again...

Info on the list is here:
http://lists.tummy.com/mailman/listinfo/watchdogng

-- Alan Robertson
alanr@unix.sh

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/