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/include/linux/hardirq.h | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-) diff --git a/kernel/include/linux/hardirq.h b/kernel/include/linux/hardirq.h index 754f67a..955b6ce 100644 --- a/kernel/include/linux/hardirq.h +++ b/kernel/include/linux/hardirq.h @@ -7,6 +7,7 @@ #include <linux/lockdep.h> #include <linux/ftrace_irq.h> #include <linux/vtime.h> +#include <asm-generic/irq_pipeline.h> #include <asm/hardirq.h> extern void synchronize_irq(unsigned int irq); @@ -122,6 +123,7 @@ #define nmi_enter() \ do { \ + irq_pipeline_nmi_enter(); \ __nmi_enter(); \ lockdep_hardirq_enter(); \ rcu_nmi_enter(); \ @@ -147,6 +149,22 @@ rcu_nmi_exit(); \ lockdep_hardirq_exit(); \ __nmi_exit(); \ + irq_pipeline_nmi_exit(); \ } while (0) +static inline bool start_irq_flow(void) +{ + return !irqs_pipelined() || in_pipeline(); +} + +static inline bool on_pipeline_entry(void) +{ + return irqs_pipelined() && in_pipeline(); +} + +static inline bool in_hard_irq(void) +{ + return irqs_pipelined() ? in_pipeline() : in_irq(); +} + #endif /* LINUX_HARDIRQ_H */ -- Gitblit v1.6.2