From mboxrd@z Thu Jan 1 00:00:00 1970 From: anton.vorontsov@linaro.org (Anton Vorontsov) Date: Wed, 1 Aug 2012 14:02:31 -0700 Subject: [PATCH 03/11] kdb: Implement disable_nmi command In-Reply-To: References: <20120730115719.GA5742@lizard> <1343649500-18491-3-git-send-email-anton.vorontsov@linaro.org> Message-ID: <20120801210231.GC20714@lizard> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Mon, Jul 30, 2012 at 10:33:34AM -0700, Colin Cross wrote: > On Mon, Jul 30, 2012 at 4:58 AM, Anton Vorontsov > 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: cbouatmailru at gmail.com