summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorHeiko Carstens <hca@linux.ibm.com>2026-01-09 16:31:38 +0100
committerHeiko Carstens <hca@linux.ibm.com>2026-01-27 12:16:15 +0100
commit2b71b8ab971889edba278b71f1d3ff82cd42e175 (patch)
tree244f1b9ca25866e0e0709e60f14407d3c0132bd2 /arch
parente3abd056ffc9d6397766817eadbd4297632aceaf (diff)
s390/bug: Use BUG_FORMAT for DEBUG_BUGVERBOSE_DETAILED
This is just the s390 variant of commit 4f1b701f24be ("x86/bug: Use BUG_FORMAT for DEBUG_BUGVERBOSE_DETAILED"). Reviewed-by: Sven Schnelle <svens@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/s390/include/asm/bug.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/arch/s390/include/asm/bug.h b/arch/s390/include/asm/bug.h
index 73f65d91da50..7e0498f22f2a 100644
--- a/arch/s390/include/asm/bug.h
+++ b/arch/s390/include/asm/bug.h
@@ -7,11 +7,18 @@
#if defined(CONFIG_BUG) && defined(CONFIG_CC_HAS_ASM_IMMEDIATE_STRINGS)
#ifdef CONFIG_DEBUG_BUGVERBOSE
-#define __BUG_ENTRY_VERBOSE(file, line) \
+#define __BUG_ENTRY_VERBOSE(format, file, line) \
+ " .long " format " - . # bug_entry::format\n" \
" .long " file " - . # bug_entry::file\n" \
" .short " line " # bug_entry::line\n"
#else
-#define __BUG_ENTRY_VERBOSE(file, line)
+#define __BUG_ENTRY_VERBOSE(format, file, line)
+#endif
+
+#ifdef CONFIG_DEBUG_BUGVERBOSE_DETAILED
+#define WARN_CONDITION_STR(cond_str) cond_str
+#else
+#define WARN_CONDITION_STR(cond_str) ""
#endif
#define __BUG_ASM(cond_str, flags) \
@@ -20,12 +27,13 @@ do { \
"0: mc 0,0\n" \
" .section __bug_table,\"aw\"\n" \
"1: .long 0b - . # bug_entry::bug_addr\n" \
- __BUG_ENTRY_VERBOSE("%[file]", "%[line]") \
+ __BUG_ENTRY_VERBOSE("%[frmt]", "%[file]", "%[line]") \
" .short %[flgs] # bug_entry::flags\n" \
" .org 1b+%[size]\n" \
" .previous" \
: \
- : [file] "i" (WARN_CONDITION_STR(cond_str) __FILE__), \
+ : [frmt] "i" (WARN_CONDITION_STR(cond_str)), \
+ [file] "i" (__FILE__), \
[line] "i" (__LINE__), \
[flgs] "i" (flags), \
[size] "i" (sizeof(struct bug_entry))); \
@@ -43,6 +51,7 @@ do { \
} while (0)
#define HAVE_ARCH_BUG
+#define HAVE_ARCH_BUG_FORMAT
#endif /* CONFIG_BUG && CONFIG_CC_HAS_ASM_IMMEDIATE_STRINGS */