Documentation: kgdboc: Document new kgdboc_earlycon parameter
The recent patch ("kgdboc: Add kgdboc_earlycon to support early kgdb using boot consoles") adds a new kernel command line parameter. Document it. Note that the patch adding the feature does some comparing/contrasting of "kgdboc_earlycon" vs. the existing "ekgdboc". See that patch for more details, but briefly "ekgdboc" can be used _instead_ of "kgdboc" and just makes "kgdboc" do its normal initialization early (only works if your tty driver is already ready). The new "kgdboc_earlycon" works in combination with "kgdboc" and is backed by boot consoles. Signed-off-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org> Link: https://lore.kernel.org/r/20200507130644.v4.9.I7d5eb42c6180c831d47aef1af44d0b8be3fac559@changeid Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
This commit is contained in:
parent
b1350132fe
commit
f71fc3bc7b
|
@ -1190,6 +1190,11 @@
|
|||
This is designed to be used in conjunction with
|
||||
the boot argument: earlyprintk=vga
|
||||
|
||||
This parameter works in place of the kgdboc parameter
|
||||
but can only be used if the backing tty is available
|
||||
very early in the boot process. For early debugging
|
||||
via a serial port see kgdboc_earlycon instead.
|
||||
|
||||
edd= [EDD]
|
||||
Format: {"off" | "on" | "skip[mbr]"}
|
||||
|
||||
|
@ -2105,6 +2110,21 @@
|
|||
kms, kbd format: kms,kbd
|
||||
kms, kbd and serial format: kms,kbd,<ser_dev>[,baud]
|
||||
|
||||
kgdboc_earlycon= [KGDB,HW]
|
||||
If the boot console provides the ability to read
|
||||
characters and can work in polling mode, you can use
|
||||
this parameter to tell kgdb to use it as a backend
|
||||
until the normal console is registered. Intended to
|
||||
be used together with the kgdboc parameter which
|
||||
specifies the normal console to transition to.
|
||||
|
||||
The name of the early console should be specified
|
||||
as the value of this parameter. Note that the name of
|
||||
the early console might be different than the tty
|
||||
name passed to kgdboc. It's OK to leave the value
|
||||
blank and the first boot console that implements
|
||||
read() will be picked.
|
||||
|
||||
kgdbwait [KGDB] Stop kernel execution and enter the
|
||||
kernel debugger at the earliest opportunity.
|
||||
|
||||
|
|
|
@ -274,6 +274,30 @@ don't like this are to hack gdb to send the :kbd:`SysRq-G` for you as well as
|
|||
on the initial connect, or to use a debugger proxy that allows an
|
||||
unmodified gdb to do the debugging.
|
||||
|
||||
Kernel parameter: ``kgdboc_earlycon``
|
||||
-------------------------------------
|
||||
|
||||
If you specify the kernel parameter ``kgdboc_earlycon`` and your serial
|
||||
driver registers a boot console that supports polling (doesn't need
|
||||
interrupts and implements a nonblocking read() function) kgdb will attempt
|
||||
to work using the boot console until it can transition to the regular
|
||||
tty driver specified by the ``kgdboc`` parameter.
|
||||
|
||||
Normally there is only one boot console (especially that implements the
|
||||
read() function) so just adding ``kgdboc_earlycon`` on its own is
|
||||
sufficient to make this work. If you have more than one boot console you
|
||||
can add the boot console's name to differentiate. Note that names that
|
||||
are registered through the boot console layer and the tty layer are not
|
||||
the same for the same port.
|
||||
|
||||
For instance, on one board to be explicit you might do::
|
||||
|
||||
kgdboc_earlycon=qcom_geni kgdboc=ttyMSM0
|
||||
|
||||
If the only boot console on the device was "qcom_geni", you could simplify::
|
||||
|
||||
kgdboc_earlycon kgdboc=ttyMSM0
|
||||
|
||||
Kernel parameter: ``kgdbwait``
|
||||
------------------------------
|
||||
|
||||
|
|
Loading…
Reference in New Issue