From a46a1ad097419aeea7350987dd95230f50d90392 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 15 Nov 2024 08:53:41 +0000
Subject: [PATCH] 固定GMAC1 网卡名为 eth3
---
kernel/include/linux/irqflags.h | 37 +++++++++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 deletions(-)
diff --git a/kernel/include/linux/irqflags.h b/kernel/include/linux/irqflags.h
index 3ed4e87..051c727 100644
--- a/kernel/include/linux/irqflags.h
+++ b/kernel/include/linux/irqflags.h
@@ -13,6 +13,7 @@
#define _LINUX_TRACE_IRQFLAGS_H
#include <linux/typecheck.h>
+#include <asm-generic/irq_pipeline.h>
#include <asm/irqflags.h>
#include <asm/percpu.h>
@@ -52,7 +53,9 @@
extern void trace_hardirqs_on_prepare(void);
extern void trace_hardirqs_off_finish(void);
extern void trace_hardirqs_on(void);
+extern void trace_hardirqs_on_pipelined(void);
extern void trace_hardirqs_off(void);
+extern void trace_hardirqs_off_pipelined(void);
# define lockdep_hardirq_context() (raw_cpu_read(hardirq_context))
# define lockdep_softirq_context(p) ((p)->softirq_context)
@@ -122,7 +125,9 @@
# define trace_hardirqs_on_prepare() do { } while (0)
# define trace_hardirqs_off_finish() do { } while (0)
# define trace_hardirqs_on() do { } while (0)
+# define trace_hardirqs_on_pipelined() do { } while (0)
# define trace_hardirqs_off() do { } while (0)
+# define trace_hardirqs_off_pipelined() do { } while (0)
# define lockdep_hardirq_context() 0
# define lockdep_softirq_context(p) 0
# define lockdep_hardirqs_enabled() 0
@@ -228,6 +233,38 @@
#endif /* CONFIG_TRACE_IRQFLAGS */
+#ifdef CONFIG_IRQ_PIPELINE
+#define local_irq_enable_full() \
+ do { \
+ hard_local_irq_enable(); \
+ local_irq_enable(); \
+ } while (0)
+
+#define local_irq_disable_full() \
+ do { \
+ hard_local_irq_disable(); \
+ local_irq_disable(); \
+ } while (0)
+
+#define local_irq_save_full(__flags) \
+ do { \
+ hard_local_irq_disable(); \
+ local_irq_save(__flags); \
+ } while (0)
+
+#define local_irq_restore_full(__flags) \
+ do { \
+ if (!irqs_disabled_flags(__flags)) \
+ hard_local_irq_enable(); \
+ local_irq_restore(__flags); \
+ } while (0)
+#else
+#define local_irq_enable_full() local_irq_enable()
+#define local_irq_disable_full() local_irq_disable()
+#define local_irq_save_full(__flags) local_irq_save(__flags)
+#define local_irq_restore_full(__flags) local_irq_restore(__flags)
+#endif
+
#define local_save_flags(flags) raw_local_save_flags(flags)
/*
--
Gitblit v1.6.2