Commit 1f34e061 authored by Philippe Gerum's avatar Philippe Gerum

cobalt/arm: upgrade I-pipe support

parent e3643bc3
......@@ -1590,7 +1590,7 @@ index bb28af7..780ca50 100644
static inline void sp804_clockevents_init(void __iomem *base, unsigned int irq, const char *name)
diff --git a/arch/arm/include/asm/ipipe.h b/arch/arm/include/asm/ipipe.h
new file mode 100644
index 0000000..5ec5eff
index 0000000..50e20e3
--- /dev/null
+++ b/arch/arm/include/asm/ipipe.h
@@ -0,0 +1,272 @@
......@@ -1638,7 +1638,7 @@ index 0000000..5ec5eff
+#include <linux/jump_label.h>
+#include <linux/ipipe_trace.h>
+
+#define IPIPE_CORE_RELEASE 11
+#define IPIPE_CORE_RELEASE 12
+
+struct ipipe_domain;
+
......@@ -2863,7 +2863,7 @@ index 0000000..6579eec
+
+#endif
diff --git a/arch/arm/include/asm/setup.h b/arch/arm/include/asm/setup.h
index 8d6a089..d78ed9a 100644
index 8d6a089..60c89d6 100644
--- a/arch/arm/include/asm/setup.h
+++ b/arch/arm/include/asm/setup.h
@@ -53,4 +53,10 @@ extern int arm_add_memory(u64 start, u64 size);
......@@ -2871,7 +2871,7 @@ index 8d6a089..d78ed9a 100644
extern void dump_machine_table(void);
+#ifdef CONFIG_IPIPE
+void __init smp_build_cpu_revmap(void);
+void smp_build_cpu_revmap(void);
+#else
+static inline void smp_build_cpu_revmap(void) { }
+#endif
......
......@@ -1651,7 +1651,7 @@ index bb28af7..780ca50 100644
static inline void sp804_clockevents_init(void __iomem *base, unsigned int irq, const char *name)
diff --git a/arch/arm/include/asm/ipipe.h b/arch/arm/include/asm/ipipe.h
new file mode 100644
index 0000000..4701f8d
index 0000000..3c73753
--- /dev/null
+++ b/arch/arm/include/asm/ipipe.h
@@ -0,0 +1,272 @@
......@@ -1699,7 +1699,7 @@ index 0000000..4701f8d
+#include <linux/jump_label.h>
+#include <linux/ipipe_trace.h>
+
+#define IPIPE_CORE_RELEASE 3
+#define IPIPE_CORE_RELEASE 4
+
+struct ipipe_domain;
+
......@@ -2923,7 +2923,7 @@ index 0000000..6579eec
+
+#endif
diff --git a/arch/arm/include/asm/setup.h b/arch/arm/include/asm/setup.h
index e0adb9f..f024d86 100644
index e0adb9f..5876f4b 100644
--- a/arch/arm/include/asm/setup.h
+++ b/arch/arm/include/asm/setup.h
@@ -25,4 +25,10 @@ extern int arm_add_memory(u64 start, u64 size);
......@@ -2931,7 +2931,7 @@ index e0adb9f..f024d86 100644
extern void dump_machine_table(void);
+#ifdef CONFIG_IPIPE
+void __init smp_build_cpu_revmap(void);
+void smp_build_cpu_revmap(void);
+#else
+static inline void smp_build_cpu_revmap(void) { }
+#endif
......@@ -17772,7 +17772,7 @@ index 0000000..797a849
+}
diff --git a/kernel/ipipe/core.c b/kernel/ipipe/core.c
new file mode 100644
index 0000000..b8eb85c
index 0000000..fba38fa
--- /dev/null
+++ b/kernel/ipipe/core.c
@@ -0,0 +1,1890 @@
......@@ -19030,7 +19030,7 @@ index 0000000..b8eb85c
+ * handling interrupts:
+ *
+ * a) the root domain is alone, no registered head domain
+ * => all interrupts are delivered via the fast dispatcher.
+ * => all interrupts go through the interrupt log
+ * b) a head domain is registered
+ * => head domain IRQs go through the fast dispatcher
+ * => root domain IRQs go through the interrupt log
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment