diff options
Diffstat (limited to 'debian/patches-rt/0077-printk-Make-static-printk-buffers-available-to-nbcon.patch')
-rw-r--r-- | debian/patches-rt/0077-printk-Make-static-printk-buffers-available-to-nbcon.patch | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/debian/patches-rt/0077-printk-Make-static-printk-buffers-available-to-nbcon.patch b/debian/patches-rt/0077-printk-Make-static-printk-buffers-available-to-nbcon.patch new file mode 100644 index 0000000000..f3fbb6a822 --- /dev/null +++ b/debian/patches-rt/0077-printk-Make-static-printk-buffers-available-to-nbcon.patch @@ -0,0 +1,65 @@ +From: John Ogness <john.ogness@linutronix.de> +Date: Sat, 16 Sep 2023 21:26:02 +0206 +Subject: [PATCH 077/134] printk: Make static printk buffers available to nbcon +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.6/older/patches-6.6.7-rt18.tar.xz + +The nbcon boot consoles also need printk buffers that are available +very early. Since the nbcon boot consoles will also be serialized +by the console_lock, they can use the same static printk buffers +that the legacy consoles are using. + +Make the legacy static printk buffers available outside of printk.c +so they can be used by nbcon.c. + +Signed-off-by: John Ogness <john.ogness@linutronix.de> +Reviewed-by: Petr Mladek <pmladek@suse.com> +Signed-off-by: Petr Mladek <pmladek@suse.com> +Link: https://lore.kernel.org/r/20230916192007.608398-4-john.ogness@linutronix.de +Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> +--- + kernel/printk/internal.h | 2 ++ + kernel/printk/printk.c | 13 +++++++++---- + 2 files changed, 11 insertions(+), 4 deletions(-) + +--- a/kernel/printk/internal.h ++++ b/kernel/printk/internal.h +@@ -86,6 +86,8 @@ static inline void nbcon_cleanup(struct + + #endif /* CONFIG_PRINTK */ + ++extern struct printk_buffers printk_shared_pbufs; ++ + /** + * struct printk_buffers - Buffers to read/format/output printk messages. + * @outbuf: After formatting, contains text to output. +--- a/kernel/printk/printk.c ++++ b/kernel/printk/printk.c +@@ -2847,6 +2847,13 @@ static bool printk_get_next_message(stru + } + + /* ++ * Used as the printk buffers for non-panic, serialized console printing. ++ * This is for legacy (!CON_NBCON) as well as all boot (CON_BOOT) consoles. ++ * Its usage requires the console_lock held. ++ */ ++struct printk_buffers printk_shared_pbufs; ++ ++/* + * Print one record for the given console. The record printed is whatever + * record is the next available record for the given console. + * +@@ -2863,12 +2870,10 @@ static bool printk_get_next_message(stru + */ + static bool console_emit_next_record(struct console *con, bool *handover, int cookie) + { +- static struct printk_buffers pbufs; +- + bool is_extended = console_srcu_read_flags(con) & CON_EXTENDED; +- char *outbuf = &pbufs.outbuf[0]; ++ char *outbuf = &printk_shared_pbufs.outbuf[0]; + struct printk_message pmsg = { +- .pbufs = &pbufs, ++ .pbufs = &printk_shared_pbufs, + }; + unsigned long flags; + |