From f9004dbfff8a3fbbd7e2a88c8a4327c7f2f8e5b2 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Wed, 31 Jan 2024 01:04:47 +0000 Subject: [PATCH] add driver 5G --- kernel/include/linux/printk.h | 49 +++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 41 insertions(+), 8 deletions(-) diff --git a/kernel/include/linux/printk.h b/kernel/include/linux/printk.h index bd827ae..f976a13 100644 --- a/kernel/include/linux/printk.h +++ b/kernel/include/linux/printk.h @@ -45,12 +45,6 @@ #define CONSOLE_EXT_LOG_MAX 8192 -/* - * The maximum size of a record formatted for console printing - * (i.e. with the prefix prepended to every line). - */ -#define CONSOLE_LOG_MAX 4096 - /* printk's without a loglevel use this.. */ #define MESSAGE_LOGLEVEL_DEFAULT CONFIG_MESSAGE_LOGLEVEL_DEFAULT @@ -154,6 +148,18 @@ void early_printk(const char *s, ...) { } #endif +#ifdef CONFIG_PRINTK_NMI +extern void printk_nmi_enter(void); +extern void printk_nmi_exit(void); +extern void printk_nmi_direct_enter(void); +extern void printk_nmi_direct_exit(void); +#else +static inline void printk_nmi_enter(void) { } +static inline void printk_nmi_exit(void) { } +static inline void printk_nmi_direct_enter(void) { } +static inline void printk_nmi_direct_exit(void) { } +#endif /* PRINTK_NMI */ + struct dev_printk_info; #ifdef CONFIG_PRINTK @@ -201,6 +207,8 @@ void show_regs_print_info(const char *log_lvl); extern asmlinkage void dump_stack_lvl(const char *log_lvl) __cold; extern asmlinkage void dump_stack(void) __cold; +extern void printk_safe_flush(void); +extern void printk_safe_flush_on_panic(void); #else static inline __printf(1, 0) int vprintk(const char *s, va_list args) @@ -266,6 +274,14 @@ } static inline void dump_stack(void) +{ +} + +static inline void printk_safe_flush(void) +{ +} + +static inline void printk_safe_flush_on_panic(void) { } #endif @@ -485,8 +501,6 @@ no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) #endif -bool pr_flush(int timeout_ms, bool reset_on_progress); - /* * ratelimited messages with local ratelimit_state, * no local ratelimit_state used in the !PRINTK case @@ -613,4 +627,23 @@ #define print_hex_dump_bytes(prefix_str, prefix_type, buf, len) \ print_hex_dump_debug(prefix_str, prefix_type, 16, 1, buf, len, true) +#ifdef CONFIG_PRINTK +extern void __printk_safe_enter(void); +extern void __printk_safe_exit(void); +/* + * The printk_deferred_enter/exit macros are available only as a hack for + * some code paths that need to defer all printk console printing. Interrupts + * must be disabled for the deferred duration. + */ +#define printk_deferred_enter __printk_safe_enter +#define printk_deferred_exit __printk_safe_exit +#else +static inline void printk_deferred_enter(void) +{ +} +static inline void printk_deferred_exit(void) +{ +} +#endif + #endif -- Gitblit v1.6.2