On Mon, Jul 30, 2012 at 10:33:34AM -0700, Colin Cross wrote:
On Mon, Jul 30, 2012 at 4:58 AM, Anton Vorontsov anton.vorontsov@linaro.org 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!