From 2f529f9b558ca1c1bd74be7437a84e4711743404 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 01 Nov 2024 02:11:33 +0000
Subject: [PATCH] add xenomai
---
kernel/arch/x86/kernel/dumpstack.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/kernel/arch/x86/kernel/dumpstack.c b/kernel/arch/x86/kernel/dumpstack.c
index 97aa900..0fe58ed 100644
--- a/kernel/arch/x86/kernel/dumpstack.c
+++ b/kernel/arch/x86/kernel/dumpstack.c
@@ -7,6 +7,7 @@
#include <linux/uaccess.h>
#include <linux/utsname.h>
#include <linux/hardirq.h>
+#include <linux/irq_pipeline.h>
#include <linux/kdebug.h>
#include <linux/module.h>
#include <linux/ptrace.h>
@@ -335,7 +336,7 @@
oops_enter();
/* racy, but better than risking deadlock. */
- raw_local_irq_save(flags);
+ flags = hard_local_irq_save();
cpu = smp_processor_id();
if (!arch_spin_trylock(&die_lock)) {
if (cpu == die_owner)
@@ -365,7 +366,7 @@
if (!die_nest_count)
/* Nest count reaches zero, release the lock. */
arch_spin_unlock(&die_lock);
- raw_local_irq_restore(flags);
+ hard_local_irq_restore(flags);
oops_exit();
/* Executive summary in case the oops scrolled away */
@@ -394,6 +395,8 @@
{
const char *pr = "";
+ irq_pipeline_oops();
+
/* Save the regs of the first oops for the executive summary later. */
if (!die_counter)
exec_summary_regs = *regs;
@@ -402,13 +405,14 @@
pr = IS_ENABLED(CONFIG_PREEMPT_RT) ? " PREEMPT_RT" : " PREEMPT";
printk(KERN_DEFAULT
- "%s: %04lx [#%d]%s%s%s%s%s\n", str, err & 0xffff, ++die_counter,
+ "%s: %04lx [#%d]%s%s%s%s%s%s\n", str, err & 0xffff, ++die_counter,
pr,
IS_ENABLED(CONFIG_SMP) ? " SMP" : "",
debug_pagealloc_enabled() ? " DEBUG_PAGEALLOC" : "",
IS_ENABLED(CONFIG_KASAN) ? " KASAN" : "",
IS_ENABLED(CONFIG_PAGE_TABLE_ISOLATION) ?
- (boot_cpu_has(X86_FEATURE_PTI) ? " PTI" : " NOPTI") : "");
+ (boot_cpu_has(X86_FEATURE_PTI) ? " PTI" : " NOPTI") : "",
+ irqs_pipelined() ? " IRQ_PIPELINE" : "");
}
NOKPROBE_SYMBOL(__die_header);
--
Gitblit v1.6.2