2012-08-01 21:04:48

by Anton Vorontsov

[permalink] [raw]
Subject: Re: [PATCH 03/11] kdb: Implement disable_nmi command

On Mon, Jul 30, 2012 at 10:33:34AM -0700, Colin Cross wrote:
> On Mon, Jul 30, 2012 at 4:58 AM, Anton Vorontsov
> <[email protected]> wrote:
> > This command disables NMI-entry. If NMI source was previously shared with
> > a serial console ("debug port"), this effectively releases the port from
> > KDB exclusive use, and makes the console available for normal use.
> >
> > Of course, NMI can be reenabled, enable_nmi modparam is used for that:
> >
> > echo 1 > /sys/module/kdb/parameters/enable_nmi
>
> This is very different behavior from the FIQ debugger "console"
> command you are trying to replace. In the FIQ debugger, everything
> goes through the FIQ/NMI, even when in console mode. That means that
> the user can always get back to FIQ debugger/KDB mode using a special
> sequence (we use a break character). With your implementation, if you
> switch from KDB to console to see if the console is working, and find
> that it is not working, you can never get back into KDB.

Ah, I see. But with disable_nmi, in addition to kernel console,
applications can use /dev/ttyXX as normal, and with 'console' command
that is not possible (at least w/o modifying applications to escape
magic sequence). So, I think we should have both commands, each would
handle its own use case.

(Initially I just tried to avoid adding another console driver, but
it seems there is no other way, heh.)

Thanks!

--
Anton Vorontsov
Email: [email protected]