public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/5] Handle NBCON consoles on KDB
@ 2025-10-16 14:47 Marcos Paulo de Souza
  2025-10-16 14:47 ` [PATCH v6 1/5] printk: nbcon: Export console_is_usable Marcos Paulo de Souza
                   ` (6 more replies)
  0 siblings, 7 replies; 16+ messages in thread
From: Marcos Paulo de Souza @ 2025-10-16 14:47 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Petr Mladek, Steven Rostedt, John Ogness,
	Sergey Senozhatsky, Jason Wessel, Daniel Thompson,
	Douglas Anderson
  Cc: linux-kernel, kgdb-bugreport, Marcos Paulo de Souza

In v6 the patches were rebased on top of v6.18-rc1, added Reviewed-by tags from
John and did some small changes suggested by him as well.

As usual, how I tested the changes:

Testing
-------

I did the tests using qemu and reapplying commit f79b163c4231
('Revert "serial: 8250: Switch to nbcon console"') created originally by
John, just to exercise the common 8250 serial from qemu. The commit can
be checked on [1]. I had to solve some conflicts since the code has been
reworked after the commit was reverted.

Then I would create three different serial entries on qemu:
-serial mon:stdio -serial pty -serial pty

And for the kernel command line I added:
earlyprintk=serial,ttyS2 console=ttyS2 console=ttyS1 console=ttyS1 kgdboc=ttyS1,115200

Without the last patch on this patchset, when KDB is triggered, the mirroring
only worked on the earlyprintk console, since it's using the legacy console.

With the last patch applied, KDB mirroring works on legacy and nbcon
console. For debugging I added some messages to be printed by KDB, showing
also the console->name and console->index, and I was able to see both
->write and ->write_atomic being called, and it all working together.

[1]: https://github.com/marcosps/linux/commit/618bd49f8533db85d9c322f9ad1cb0da22aca9ee
[2]: https://lore.kernel.org/lkml/20250825022947.1596226-1-wangjinchao600@gmail.com/

Signed-off-by: Marcos Paulo de Souza <mpdesouza@suse.com>
---
Changes in v6:
- Rebased on top opf v6.18-rc1
- Changed some includes, as suggedted by John
- Reworked comments as suggested by John

Changes in v5:
- Added review tags from Petr
- Changes the way we detect if a CPU is running KDB.
- Link to v4: https://lore.kernel.org/r/20250915-nbcon-kgdboc-v4-0-e2b6753bb566@suse.com

Changes in v4:
- Added ifdefs to only check for KGDB if KGDB was enabled, suggested by John Ogness
- Updated comments about KDB on acquire_direct, suggested by Petr and John
- Added a new patch to export nbcon_write_context_set_buf, suggested by Petr and John
- Link to v3: https://lore.kernel.org/r/20250902-nbcon-kgdboc-v3-0-cd30a8106f1c@suse.com

Changes in v3:
- Only call nbcon_context_release if nbcon_context_exit_unsafe returns true (John Ogness)
- Dropped the prototype of console_is_usable from kernel/printk/internal. (Petr Mladek)
- Add comments to the new functions introduced (Petr Mladek)
- Flush KDB console on nbcon_kdb_release (Petr Mladek)
- Add an exception for KDB on nbcon_context_try_acquire_direct (John Ogness and Petr Mladek)
- Link to v2: https://lore.kernel.org/r/20250811-nbcon-kgdboc-v2-0-c7c72bcdeaf6@suse.com

Changes in v2:
- Set by mistake ..
- Link to v1: https://lore.kernel.org/r/20250713-nbcon-kgdboc-v1-0-51eccd9247a8@suse.com

---
Marcos Paulo de Souza (5):
      printk: nbcon: Export console_is_usable
      printk: nbcon: Introduce KDB helpers
      printk: nbcon: Allow KDB to acquire the NBCON context
      printk: nbcon: Export nbcon_write_context_set_buf
      kdb: Adapt kdb_msg_write to work with NBCON consoles

 include/linux/console.h   | 55 ++++++++++++++++++++++++++++++++++++
 include/linux/kdb.h       | 16 +++++++++++
 kernel/debug/kdb/kdb_io.c | 47 +++++++++++++++++++++----------
 kernel/printk/internal.h  | 45 ------------------------------
 kernel/printk/nbcon.c     | 71 +++++++++++++++++++++++++++++++++++++++++++++--
 5 files changed, 171 insertions(+), 63 deletions(-)
---
base-commit: 3a8660878839faadb4f1a6dd72c3179c1df56787
change-id: 20250713-nbcon-kgdboc-efcfc37fde46

Best regards,
--  
Marcos Paulo de Souza <mpdesouza@suse.com>


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2025-10-24 11:52 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-16 14:47 [PATCH v6 0/5] Handle NBCON consoles on KDB Marcos Paulo de Souza
2025-10-16 14:47 ` [PATCH v6 1/5] printk: nbcon: Export console_is_usable Marcos Paulo de Souza
2025-10-16 14:47 ` [PATCH v6 2/5] printk: nbcon: Introduce KDB helpers Marcos Paulo de Souza
2025-10-17 10:16   ` Petr Mladek
2025-10-16 14:47 ` [PATCH v6 3/5] printk: nbcon: Allow KDB to acquire the NBCON context Marcos Paulo de Souza
2025-10-17  1:25   ` kernel test robot
2025-10-17  9:19     ` Petr Mladek
2025-10-17  9:22   ` Petr Mladek
2025-10-16 14:47 ` [PATCH v6 4/5] printk: nbcon: Export nbcon_write_context_set_buf Marcos Paulo de Souza
2025-10-16 14:47 ` [PATCH v6 5/5] kdb: Adapt kdb_msg_write to work with NBCON consoles Marcos Paulo de Souza
2025-10-17  2:17   ` kernel test robot
2025-10-17 10:12     ` Petr Mladek
2025-10-17  7:14   ` kernel test robot
2025-10-17 11:34 ` [PATCH v6 0/5] Handle NBCON consoles on KDB Petr Mladek
2025-10-17 12:12   ` Marcos Paulo de Souza
2025-10-24 11:52 ` Petr Mladek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox