mbox series

[v4,0/5] kdb: Cleanup code to read user input and handle escape sequences

Message ID 20191025073328.643-1-daniel.thompson@linaro.org
Headers show
Series kdb: Cleanup code to read user input and handle escape sequences | expand

Message

Daniel Thompson Oct. 25, 2019, 7:33 a.m. UTC
I've been meaning to repost this for some time, and inspired by
having someone keen to review it, I dug it out again!

I split this as carefully as I could into small pieces but the original
code was complex so even in small bits it doesn't make for light
reading.  Things do make more sense once you realize/remember that
escape_delay is a count down timer that expires the escape sequences!

Most of the patches are simple tidy ups although patches 4 and 5
introduce new behaviours. Patch 4 shouldn't be controversial but
perhaps patch 5 is (although hopefully not ;-) ).

Mostly this is auto tested, see here:
https://github.com/daniel-thompson/kgdbtest/commit/c65e28d99357c2df6dac2cebe195574e634d04dc

Changes in v4:

 - Sorry this is late. Looks like I got so distracted by testing the
   series I forgot to post it to the lists.
 - Introduced kdb_handle_escape() in patch 1 (instead of renaming it
   in the middle of the patch series) and documented it in kernel doc
   format.
 - Adopted do {} while for the character fetch loop in kdb_bt.c
 - Added Doug's reviewed-by to the remaining patches. The kept them
   despite the subtle internal reorg w.r.t. kdb_handle_escape() since
   the whole patchset has changed little since he last saw it (beyond
   fixing his review comments).

Changes in v3:

 - Accepted all review comments from Doug (except the return type
   of kdb_getchar() as discussed in the mail threads). In particular
   this fixes a bug in the handling of the btaprompt.
 - Added Doug's reviewed-by to patches 1 and 2.

Changes in v2:

 - Improve comment in patch 4 to better describe what is happening
 - Rebase on v5.4-rc2

Daniel Thompson (5):
  kdb: Tidy up code to handle escape sequences
  kdb: Simplify code to fetch characters from console
  kdb: Remove special case logic from kdb_read()
  kdb: Improve handling of characters from different input sources
  kdb: Tweak escape handling for vi users

 kernel/debug/kdb/kdb_bt.c      |  22 ++--
 kernel/debug/kdb/kdb_io.c      | 231 ++++++++++++++++-----------------
 kernel/debug/kdb/kdb_private.h |   1 +
 3 files changed, 125 insertions(+), 129 deletions(-)

--
2.21.0