[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: wip/drivers Commit: 2111a07350c4651f34c9d4972d7c06f63e1eb077 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=2111a07350c4651f34c9d4972d7c06f63e1eb077 Author: Philippe GerumDate: Fri Sep 9 18:58:13 2016 +0200 cobalt/blackfin: upgrade I-pipe support --- ...6.patch => ipipe-core-3.18.20-blackfin-8.patch} | 70 +++-- ...-2.patch => ipipe-core-4.1.18-blackfin-6.patch} | 298 +++- 2 files changed, 282 insertions(+), 86 deletions(-) diff --git a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-6.patch b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-8.patch similarity index 99% rename from kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-6.patch rename to kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-8.patch index 6ecaf7f..e5d0f88 100644 --- a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-6.patch +++ b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-8.patch @@ -12,7 +12,7 @@ index af76634..ebff376 100644 comment "Processor and Board Settings" diff --git a/arch/blackfin/include/asm/ipipe.h b/arch/blackfin/include/asm/ipipe.h -index fe1160f..cc10543 100644 +index fe1160fb..44ed44e 100644 --- a/arch/blackfin/include/asm/ipipe.h +++ b/arch/blackfin/include/asm/ipipe.h @@ -28,7 +28,7 @@ @@ -32,7 +32,7 @@ index fe1160f..cc10543 100644 -#define IPIPE_MAJOR_NUMBER1 -#define IPIPE_MINOR_NUMBER16 -#define IPIPE_PATCH_NUMBER1 -+#define IPIPE_CORE_RELEASE6 ++#define IPIPE_CORE_RELEASE8 #ifdef CONFIG_SMP #error "I-pipe/blackfin: SMP not implemented" @@ -2214,6 +2214,18 @@ index abcafaa..a8440e4 100644 } cacheline_aligned; /* +diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h +index 662697b..6a9b6ad 100644 +--- a/include/linux/ftrace.h b/include/linux/ftrace.h +@@ -108,6 +108,7 @@ enum { + FTRACE_OPS_FL_ADDING= 1 << 9, + FTRACE_OPS_FL_REMOVING = 1 << 10, + FTRACE_OPS_FL_MODIFYING = 1 << 11, ++ FTRACE_OPS_FL_IPIPE_EXCLUSIVE = 1 << 12, + }; + + #ifdef CONFIG_DYNAMIC_FTRACE diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h index cba442e..b513a46 100644 --- a/include/linux/hardirq.h @@ -8159,7 +8171,7 @@ index 000..143f9e6 +#endif /* CONFIG_IPIPE_HAVE_HOSTRT */ diff --git a/kernel/ipipe/tracer.c b/kernel/ipipe/tracer.c new file mode 100644 -index 000..da272c50 +index 000..8388671 --- /dev/null +++ b/kernel/ipipe/tracer.c @@ -0,0 +1,1468 @@ @@ -9497,7 +9509,7 @@ index 000..da272c50 + +static struct ftrace_ops ipipe_trace_ops = { + .func = ipipe_trace_function, -+ .flags = FTRACE_OPS_FL_RECURSION_SAFE, ++ .flags = FTRACE_OPS_FL_IPIPE_EXCLUSIVE, +}; + +static ssize_t __ipipe_wr_enable(struct file *file, const char __user *buffer, @@ -11058,7 +11070,7 @@ index a5da09c..6650799 100644 help This option will modify all the calls to function tracing diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c -index d1eff3d..2a324bc 100644 +index d1eff3d..f8b9472 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -32,6 +32,7 @@ @@ -11069,7 +11081,33 @@ index d1eff3d..2a324bc 100644 #include -@@ -2298,6 +2299,9 @@ void __weak arch_ftrace_update_code(int command) +@@ -251,8 +252,17 @@ static inline void update_function_graph_func(void) { } + + static void update_ftrace_function(void) + { ++ struct ftrace_ops *ops; + ftrace_func_t func; + ++ for (ops = ftrace_ops_list; ++ ops != _list_end; ops = ops->next) ++ if (ops->flags & FTRACE_OPS_FL_IPIPE_EXCLUSIVE) { ++ set_function_trace_op = ops; ++ func = ops->func; ++ goto set_pointers; ++ } ++ + /* +* Prepare the ftrace_ops that the arch callback will use. +* If there's only one ftrace_ops registered, the ftrace_ops_list +@@ -280,6 +290,7 @@ static void update_ftrace_function(void) + + update_function_graph_func(); + ++ set_pointers: + /* If there's no change, then do nothing more here */ + if (ftrace_trace_function == func) + return; +@@ -2298,6 +2309,9 @@ void __weak arch_ftrace_update_code(int command) static void ftrace_run_update_code(int command) { @@ -11079,7 +7,7 @@ index d1eff3d..2a324bc 100644 int ret; ret = ftrace_arch_code_modify_prepare(); -@@ -2311,7 +2315,13 @@ static void ftrace_run_update_code(int command) +@@ -2311,7 +2325,13 @@ static void ftrace_run_update_code(int command) * is safe. The stop_machine() is the safest, but also * produces the most overhead. */ @@ -11093,7 +11131,7 @@ index d1eff3d..2a324bc 100644 ret = ftrace_arch_code_modify_post_process(); FTRACE_WARN_ON(ret); -@@ -4621,10
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: stable-3.0.x Commit: 2111a07350c4651f34c9d4972d7c06f63e1eb077 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=2111a07350c4651f34c9d4972d7c06f63e1eb077 Author: Philippe GerumDate: Fri Sep 9 18:58:13 2016 +0200 cobalt/blackfin: upgrade I-pipe support --- ...6.patch => ipipe-core-3.18.20-blackfin-8.patch} | 70 +++-- ...-2.patch => ipipe-core-4.1.18-blackfin-6.patch} | 298 +++- 2 files changed, 282 insertions(+), 86 deletions(-) diff --git a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-6.patch b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-8.patch similarity index 99% rename from kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-6.patch rename to kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-8.patch index 6ecaf7f..e5d0f88 100644 --- a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-6.patch +++ b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-8.patch @@ -12,7 +12,7 @@ index af76634..ebff376 100644 comment "Processor and Board Settings" diff --git a/arch/blackfin/include/asm/ipipe.h b/arch/blackfin/include/asm/ipipe.h -index fe1160f..cc10543 100644 +index fe1160fb..44ed44e 100644 --- a/arch/blackfin/include/asm/ipipe.h +++ b/arch/blackfin/include/asm/ipipe.h @@ -28,7 +28,7 @@ @@ -32,7 +32,7 @@ index fe1160f..cc10543 100644 -#define IPIPE_MAJOR_NUMBER1 -#define IPIPE_MINOR_NUMBER16 -#define IPIPE_PATCH_NUMBER1 -+#define IPIPE_CORE_RELEASE6 ++#define IPIPE_CORE_RELEASE8 #ifdef CONFIG_SMP #error "I-pipe/blackfin: SMP not implemented" @@ -2214,6 +2214,18 @@ index abcafaa..a8440e4 100644 } cacheline_aligned; /* +diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h +index 662697b..6a9b6ad 100644 +--- a/include/linux/ftrace.h b/include/linux/ftrace.h +@@ -108,6 +108,7 @@ enum { + FTRACE_OPS_FL_ADDING= 1 << 9, + FTRACE_OPS_FL_REMOVING = 1 << 10, + FTRACE_OPS_FL_MODIFYING = 1 << 11, ++ FTRACE_OPS_FL_IPIPE_EXCLUSIVE = 1 << 12, + }; + + #ifdef CONFIG_DYNAMIC_FTRACE diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h index cba442e..b513a46 100644 --- a/include/linux/hardirq.h @@ -8159,7 +8171,7 @@ index 000..143f9e6 +#endif /* CONFIG_IPIPE_HAVE_HOSTRT */ diff --git a/kernel/ipipe/tracer.c b/kernel/ipipe/tracer.c new file mode 100644 -index 000..da272c50 +index 000..8388671 --- /dev/null +++ b/kernel/ipipe/tracer.c @@ -0,0 +1,1468 @@ @@ -9497,7 +9509,7 @@ index 000..da272c50 + +static struct ftrace_ops ipipe_trace_ops = { + .func = ipipe_trace_function, -+ .flags = FTRACE_OPS_FL_RECURSION_SAFE, ++ .flags = FTRACE_OPS_FL_IPIPE_EXCLUSIVE, +}; + +static ssize_t __ipipe_wr_enable(struct file *file, const char __user *buffer, @@ -11058,7 +11070,7 @@ index a5da09c..6650799 100644 help This option will modify all the calls to function tracing diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c -index d1eff3d..2a324bc 100644 +index d1eff3d..f8b9472 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -32,6 +32,7 @@ @@ -11069,7 +11081,33 @@ index d1eff3d..2a324bc 100644 #include -@@ -2298,6 +2299,9 @@ void __weak arch_ftrace_update_code(int command) +@@ -251,8 +252,17 @@ static inline void update_function_graph_func(void) { } + + static void update_ftrace_function(void) + { ++ struct ftrace_ops *ops; + ftrace_func_t func; + ++ for (ops = ftrace_ops_list; ++ ops != _list_end; ops = ops->next) ++ if (ops->flags & FTRACE_OPS_FL_IPIPE_EXCLUSIVE) { ++ set_function_trace_op = ops; ++ func = ops->func; ++ goto set_pointers; ++ } ++ + /* +* Prepare the ftrace_ops that the arch callback will use. +* If there's only one ftrace_ops registered, the ftrace_ops_list +@@ -280,6 +290,7 @@ static void update_ftrace_function(void) + + update_function_graph_func(); + ++ set_pointers: + /* If there's no change, then do nothing more here */ + if (ftrace_trace_function == func) + return; +@@ -2298,6 +2309,9 @@ void __weak arch_ftrace_update_code(int command) static void ftrace_run_update_code(int command) { @@ -11079,7 +7,7 @@ index d1eff3d..2a324bc 100644 int ret; ret = ftrace_arch_code_modify_prepare(); -@@ -2311,7 +2315,13 @@ static void ftrace_run_update_code(int command) +@@ -2311,7 +2325,13 @@ static void ftrace_run_update_code(int command) * is safe. The stop_machine() is the safest, but also * produces the most overhead. */ @@ -11093,7 +11131,7 @@ index d1eff3d..2a324bc 100644 ret = ftrace_arch_code_modify_post_process(); FTRACE_WARN_ON(ret); -@@ -4621,10
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: stable-3.0.x Commit: 00cef1ae404e80eb1ecbf6b6c9e89d91656cf708 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=00cef1ae404e80eb1ecbf6b6c9e89d91656cf708 Author: Philippe GerumDate: Thu Mar 24 12:33:34 2016 +0100 cobalt/blackfin: upgrade I-pipe support --- ...6.patch => ipipe-core-3.10.32-blackfin-7.patch} | 21 +--- patch => ipipe-core-3.14.44-blackfin-10.patch} | 16 ++- ...5.patch => ipipe-core-3.18.20-blackfin-6.patch} | 16 ++- 3 files changed, 9 insertions(+), 44 deletions(-) diff --git a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.10.32-blackfin-6.patch b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.10.32-blackfin-7.patch similarity index 99% rename from kernel/cobalt/arch/blackfin/patches/ipipe-core-3.10.32-blackfin-6.patch rename to kernel/cobalt/arch/blackfin/patches/ipipe-core-3.10.32-blackfin-7.patch index d07d514..cdab697 100644 --- a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.10.32-blackfin-6.patch +++ b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.10.32-blackfin-7.patch @@ -12,7 +12,7 @@ index a117652..c5d277d1 100644 comment "Processor and Board Settings" diff --git a/arch/blackfin/include/asm/ipipe.h b/arch/blackfin/include/asm/ipipe.h -index 17b5e92..c8d1a8a 100644 +index 17b5e92..c4e3876 100644 --- a/arch/blackfin/include/asm/ipipe.h +++ b/arch/blackfin/include/asm/ipipe.h @@ -28,7 +28,7 @@ @@ -32,7 +32,7 @@ index 17b5e92..c8d1a8a 100644 -#define IPIPE_MAJOR_NUMBER1 -#define IPIPE_MINOR_NUMBER16 -#define IPIPE_PATCH_NUMBER1 -+#define IPIPE_CORE_RELEASE6 ++#define IPIPE_CORE_RELEASE7 #ifdef CONFIG_SMP #error "I-pipe/blackfin: SMP not implemented" @@ -7280,10 +7280,10 @@ index 000..2746906 +#endif diff --git a/kernel/ipipe/timer.c b/kernel/ipipe/timer.c new file mode 100644 -index 000..0c9b908 +index 000..f32a7ff --- /dev/null +++ b/kernel/ipipe/timer.c -@@ -0,0 +1,492 @@ +@@ -0,0 +1,493 @@ +/* -*- linux-c -*- + * linux/kernel/ipipe/timer.c + * @@ -7651,6 +7651,7 @@ index 000..0c9b908 + timer->real_set_next_event = evtdev->set_next_event; + evtdev->mult = 1; + evtdev->shift = 0; ++ evtdev->max_delta_ns = UINT_MAX; + evtdev->set_mode = emumode; + evtdev->set_next_event = emutick; + evtdev->ipipe_stolen = 1; @@ -11054,18 +11055,6 @@ index 4c0d0e5..886125d 100644 goto out; /* -diff --git a/mm/Kconfig b/mm/Kconfig -index e742d06..32bedf1 100644 a/mm/Kconfig -+++ b/mm/Kconfig -@@ -385,6 +385,7 @@ config NOMMU_INITIAL_TRIM_EXCESS - config TRANSPARENT_HUGEPAGE - bool "Transparent Hugepage Support" - depends on HAVE_ARCH_TRANSPARENT_HUGEPAGE -+ depends on !IPIPE - select COMPACTION - help - Transparent Hugepages allows the kernel to use huge pages and diff --git a/mm/memory.c b/mm/memory.c index 4b60011..b4c639e 100644 --- a/mm/memory.c diff --git a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.44-blackfin-9.patch b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.44-blackfin-10.patch similarity index 99% rename from kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.44-blackfin-9.patch rename to kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.44-blackfin-10.patch index 5112b5a..6d7183f 100644 --- a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.44-blackfin-9.patch +++ b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.44-blackfin-10.patch @@ -12,7 +12,7 @@ index 9ceccef..3c94fa7 100644 comment "Processor and Board Settings" diff --git a/arch/blackfin/include/asm/ipipe.h b/arch/blackfin/include/asm/ipipe.h -index 17b5e92..db71a80 100644 +index 17b5e92..07d4364 100644 --- a/arch/blackfin/include/asm/ipipe.h +++ b/arch/blackfin/include/asm/ipipe.h @@ -28,7 +28,7 @@ @@ -32,7 +32,7 @@ index 17b5e92..db71a80 100644 -#define IPIPE_MAJOR_NUMBER1 -#define IPIPE_MINOR_NUMBER16 -#define IPIPE_PATCH_NUMBER1 -+#define IPIPE_CORE_RELEASE9 ++#define IPIPE_CORE_RELEASE10 #ifdef CONFIG_SMP #error "I-pipe/blackfin: SMP not implemented" @@ -11571,18 +11571,6 @@ index 04abe53..9b2ff41 100644 goto out; /* -diff --git a/mm/Kconfig b/mm/Kconfig -index 0862816..aacbf2df 100644 a/mm/Kconfig -+++ b/mm/Kconfig -@@ -397,6 +397,7 @@ config NOMMU_INITIAL_TRIM_EXCESS - config TRANSPARENT_HUGEPAGE - bool "Transparent Hugepage Support" - depends on HAVE_ARCH_TRANSPARENT_HUGEPAGE -+ depends on !IPIPE - select COMPACTION - help - Transparent Hugepages allows the kernel to use huge pages and diff --git a/mm/memory.c b/mm/memory.c index 749e1c6..090df7e 100644 --- a/mm/memory.c diff --git a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-5.patch
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: stable-3.0.x Commit: 4a160053ca5e2aaa1541fe33c104dc7a7a612d58 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=4a160053ca5e2aaa1541fe33c104dc7a7a612d58 Author: Philippe GerumDate: Thu Mar 24 12:00:17 2016 +0100 cobalt/blackfin: upgrade I-pipe support --- ...kfin-1.patch => ipipe-core-4.1.18-blackfin-2.patch} | 16 ++-- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/kernel/cobalt/arch/blackfin/patches/ipipe-core-4.1.18-blackfin-1.patch b/kernel/cobalt/arch/blackfin/patches/ipipe-core-4.1.18-blackfin-2.patch similarity index 99% rename from kernel/cobalt/arch/blackfin/patches/ipipe-core-4.1.18-blackfin-1.patch rename to kernel/cobalt/arch/blackfin/patches/ipipe-core-4.1.18-blackfin-2.patch index 70446f6..9ad6bc4 100644 --- a/kernel/cobalt/arch/blackfin/patches/ipipe-core-4.1.18-blackfin-1.patch +++ b/kernel/cobalt/arch/blackfin/patches/ipipe-core-4.1.18-blackfin-2.patch @@ -12,7 +12,7 @@ index af76634..ebff376 100644 comment "Processor and Board Settings" diff --git a/arch/blackfin/include/asm/ipipe.h b/arch/blackfin/include/asm/ipipe.h -index fe1160f..cc96472 100644 +index fe1160f..d988c1f 100644 --- a/arch/blackfin/include/asm/ipipe.h +++ b/arch/blackfin/include/asm/ipipe.h @@ -28,7 +28,7 @@ @@ -32,7 +32,7 @@ index fe1160f..cc96472 100644 -#define IPIPE_MAJOR_NUMBER1 -#define IPIPE_MINOR_NUMBER16 -#define IPIPE_PATCH_NUMBER1 -+#define IPIPE_CORE_RELEASE1 ++#define IPIPE_CORE_RELEASE2 #ifdef CONFIG_SMP #error "I-pipe/blackfin: SMP not implemented" @@ -11722,18 +11722,6 @@ index 1afec32..5803111 100644 goto out; /* -diff --git a/mm/Kconfig b/mm/Kconfig -index 390214d..0ff2650 100644 a/mm/Kconfig -+++ b/mm/Kconfig -@@ -410,6 +410,7 @@ config NOMMU_INITIAL_TRIM_EXCESS - config TRANSPARENT_HUGEPAGE - bool "Transparent Hugepage Support" - depends on HAVE_ARCH_TRANSPARENT_HUGEPAGE -+ depends on !IPIPE - select COMPACTION - help - Transparent Hugepages allows the kernel to use huge pages and diff --git a/mm/memory.c b/mm/memory.c index 2a9e098..46ec4cd 100644 --- a/mm/memory.c ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: wip/prioceil Commit: 945eb01b4883284f54c199bea91690e85ed03999 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=945eb01b4883284f54c199bea91690e85ed03999 Author: Philippe GerumDate: Sun Mar 13 12:11:01 2016 +0100 cobalt/blackfin: upgrade I-pipe support --- ...5.patch => ipipe-core-3.10.32-blackfin-6.patch} | 118 ++ ...7.patch => ipipe-core-3.14.44-blackfin-9.patch} | 242 +--- ...3.patch => ipipe-core-3.18.20-blackfin-5.patch} | 43 +++- 3 files changed, 259 insertions(+), 144 deletions(-) diff --git a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.10.32-blackfin-5.patch b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.10.32-blackfin-6.patch similarity index 99% rename from kernel/cobalt/arch/blackfin/patches/ipipe-core-3.10.32-blackfin-5.patch rename to kernel/cobalt/arch/blackfin/patches/ipipe-core-3.10.32-blackfin-6.patch index 9081fc3..d07d514 100644 --- a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.10.32-blackfin-5.patch +++ b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.10.32-blackfin-6.patch @@ -12,7 +12,7 @@ index a117652..c5d277d1 100644 comment "Processor and Board Settings" diff --git a/arch/blackfin/include/asm/ipipe.h b/arch/blackfin/include/asm/ipipe.h -index 17b5e92..90c5be8 100644 +index 17b5e92..c8d1a8a 100644 --- a/arch/blackfin/include/asm/ipipe.h +++ b/arch/blackfin/include/asm/ipipe.h @@ -28,7 +28,7 @@ @@ -32,7 +32,7 @@ index 17b5e92..90c5be8 100644 -#define IPIPE_MAJOR_NUMBER1 -#define IPIPE_MINOR_NUMBER16 -#define IPIPE_PATCH_NUMBER1 -+#define IPIPE_CORE_RELEASE5 ++#define IPIPE_CORE_RELEASE6 #ifdef CONFIG_SMP #error "I-pipe/blackfin: SMP not implemented" @@ -1982,10 +1982,10 @@ index e6bb36a..898a91a 100644 diff --git a/include/linux/ipipe.h b/include/linux/ipipe.h new file mode 100644 -index 000..525f3cf +index 000..4ef7e3d --- /dev/null +++ b/include/linux/ipipe.h -@@ -0,0 +1,443 @@ +@@ -0,0 +1,449 @@ +/* -*- linux-c -*- + * include/linux/ipipe.h + * @@ -2392,6 +2392,12 @@ index 000..525f3cf +#define __ipipe_uaccess_might_fault() might_fault() +#endif + ++#ifdef CONFIG_IPIPE_TRACE ++void __ipipe_tracer_hrclock_initialized(void); ++#else /* !CONFIG_IPIPE_TRACE */ ++#define __ipipe_tracer_hrclock_initialized() do { } while(0) ++#endif /* !CONFIG_IPIPE_TRACE */ ++ +#include + +#else /* !CONFIG_IPIPE */ @@ -2431,10 +2437,10 @@ index 000..525f3cf +#endif/* !__LINUX_IPIPE_H */ diff --git a/include/linux/ipipe_base.h b/include/linux/ipipe_base.h new file mode 100644 -index 000..fc88b2e +index 000..c8fed98 --- /dev/null +++ b/include/linux/ipipe_base.h -@@ -0,0 +1,392 @@ +@@ -0,0 +1,394 @@ +/* -*- linux-c -*- + * include/linux/ipipe_base.h + * @@ -2617,9 +2623,6 @@ index 000..fc88b2e + +void __ipipe_flush_printk(unsigned int irq, void *cookie); + -+void __ipipe_pin_range_globally(unsigned long start, -+ unsigned long end); -+ +#define hard_preempt_disable()\ + ({ \ + unsigned long __flags__;\ @@ -2787,10 +2790,6 @@ index 000..fc88b2e + +static inline void __ipipe_clear_taskflags(struct task_struct *p) { } + -+static inline void __ipipe_pin_range_globally(unsigned long start, -+unsigned long end) -+{ } -+ +#define hard_preempt_disable()({ preempt_disable(); 0; }) +#define hard_preempt_enable(flags)({ preempt_enable(); (void)(flags); }) + @@ -2817,6 +2816,15 @@ index 000..fc88b2e + +#endif/* !CONFIG_IPIPE */ + ++#ifdef CONFIG_IPIPE_WANT_PTE_PINNING ++void __ipipe_pin_mapping_globally(unsigned long start, ++unsigned long end); ++#else ++static inline void __ipipe_pin_mapping_globally(unsigned long start, ++ unsigned long end) ++{ } ++#endif ++ +static inline void ipipe_preempt_root_only(void) +{ +#if defined(CONFIG_IPIPE_DEBUG_CONTEXT) && \ @@ -4968,10 +4976,10 @@ index ff7be9d..1e80528 100644 trace_task_newtask(p, clone_flags); diff --git a/kernel/ipipe/Kconfig b/kernel/ipipe/Kconfig new file mode 100644 -index 000..da17b04 +index 000..218f51da --- /dev/null +++ b/kernel/ipipe/Kconfig -@@ -0,0 +1,62 @@ +@@ -0,0 +1,65 @@ +config IPIPE + bool "Interrupt pipeline" + default y @@ -4992,6 +5000,9 @@ index 000..da17b04 +config IPIPE_WANT_CLOCKSOURCE + bool + ++config IPIPE_WANT_PTE_PINNING ++ bool ++ +config IPIPE_CORE_APIREV + int + depends on IPIPE @@ -7767,10 +7778,10 @@ index 000..0c9b908 +#endif /* CONFIG_IPIPE_HAVE_HOSTRT */ diff --git a/kernel/ipipe/tracer.c b/kernel/ipipe/tracer.c new file mode 100644 -index 000..5cce0bc +index 000..8388671 --- /dev/null +++ b/kernel/ipipe/tracer.c -@@
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: wip/dovetail Commit: 601a5aae1f069489c6b2341bfc76e945fca1bcad URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=601a5aae1f069489c6b2341bfc76e945fca1bcad Author: Philippe GerumDate: Mon Feb 29 10:12:26 2016 +0100 cobalt/blackfin: upgrade I-pipe support --- .../patches/ipipe-core-4.1.18-blackfin-1.patch |12078 1 file changed, 12078 insertions(+) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=601a5aae1f069489c6b2341bfc76e945fca1bcad ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: wip/prioceil Commit: b6e2a1d29d88e31cbf417678ae522d360963787c URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b6e2a1d29d88e31cbf417678ae522d360963787c Author: Philippe GerumDate: Mon Feb 29 10:12:26 2016 +0100 cobalt/blackfin: upgrade I-pipe support --- .../patches/ipipe-core-4.1.18-blackfin-1.patch |12078 1 file changed, 12078 insertions(+) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=b6e2a1d29d88e31cbf417678ae522d360963787c ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: master Commit: bebaf3a1df28e5c3c1790ab084744727a4f1b089 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=bebaf3a1df28e5c3c1790ab084744727a4f1b089 Author: Philippe GerumDate: Tue Oct 6 15:38:24 2015 +0200 cobalt/blackfin: upgrade I-pipe support --- .../patches/ipipe-core-3.16.7-blackfin-5.patch |11815 ...2.patch => ipipe-core-3.18.20-blackfin-3.patch} | 89 +- 2 files changed, 56 insertions(+), 11848 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=bebaf3a1df28e5c3c1790ab084744727a4f1b089 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: master Commit: 52a2ed8549b5909cd1356986f5ff5ff591a0cfed URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=52a2ed8549b5909cd1356986f5ff5ff591a0cfed Author: Philippe GerumDate: Tue Sep 15 11:24:28 2015 +0200 cobalt/blackfin: upgrade I-pipe support --- ...1.patch => ipipe-core-3.18.20-blackfin-2.patch} | 2117 ++-- 1 file changed, 187 insertions(+), 1930 deletions(-) diff --git a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.12-blackfin-1.patch b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-2.patch similarity index 85% rename from kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.12-blackfin-1.patch rename to kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-2.patch index 3ec93af..b646b42 100644 --- a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.12-blackfin-1.patch +++ b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-2.patch @@ -12,7 +12,7 @@ index af76634..ebff376 100644 comment "Processor and Board Settings" diff --git a/arch/blackfin/include/asm/ipipe.h b/arch/blackfin/include/asm/ipipe.h -index fe1160f..2a486ff 100644 +index fe1160f..7e99af8 100644 --- a/arch/blackfin/include/asm/ipipe.h +++ b/arch/blackfin/include/asm/ipipe.h @@ -28,7 +28,7 @@ @@ -32,7 +32,7 @@ index fe1160f..2a486ff 100644 -#define IPIPE_MAJOR_NUMBER1 -#define IPIPE_MINOR_NUMBER16 -#define IPIPE_PATCH_NUMBER1 -+#define IPIPE_CORE_RELEASE1 ++#define IPIPE_CORE_RELEASE2 #ifdef CONFIG_SMP #error "I-pipe/blackfin: SMP not implemented" @@ -636,7 +636,7 @@ index a017359..e6ad56f 100644 } \ } \ diff --git a/arch/blackfin/kernel/ipipe.c b/arch/blackfin/kernel/ipipe.c -index f657b38..a34ef5b 100644 +index f657b38..4f8ff6d 100644 --- a/arch/blackfin/kernel/ipipe.c +++ b/arch/blackfin/kernel/ipipe.c @@ -32,32 +32,29 @@ @@ -685,7 +685,7 @@ index f657b38..a34ef5b 100644 /* * __ipipe_enable_pipeline() -- We are running on the boot CPU, hw -@@ -71,214 +68,86 @@ void __ipipe_enable_pipeline(void) +@@ -71,214 +68,76 @@ void __ipipe_enable_pipeline(void) __ipipe_freq_scale = 10UL / __ipipe_core_clock; for (irq = 0; irq < NR_IRQS; ++irq) @@ -905,10 +905,9 @@ index f657b38..a34ef5b 100644 - * works for virtual interrupts. - */ -int ipipe_trigger_irq(unsigned irq) -+void ipipe_raise_irq(unsigned int irq) - { - unsigned long flags; - +-{ +- unsigned long flags; +- -#ifdef CONFIG_IPIPE_DEBUG - if (irq >= IPIPE_NR_IRQS || - (ipipe_virtual_irq_p(irq) @@ -916,20 +915,19 @@ index f657b38..a34ef5b 100644 - return -EINVAL; -#endif - - flags = hard_local_irq_save(); - __ipipe_handle_irq(irq, NULL); - hard_local_irq_restore(flags); +- flags = hard_local_irq_save(); +- __ipipe_handle_irq(irq, NULL); +- hard_local_irq_restore(flags); - - return 1; - } -+EXPORT_SYMBOL_GPL(ipipe_raise_irq); - +-} +- -asmlinkage void __ipipe_sync_root(void) +void __ipipe_sync_root(void) { void (*irq_tail_hook)(void) = (void (*)(void))__ipipe_irq_tail_hook; struct ipipe_percpu_domain_data *p; -@@ -293,23 +162,14 @@ asmlinkage void __ipipe_sync_root(void) +@@ -293,23 +152,14 @@ asmlinkage void __ipipe_sync_root(void) clear_thread_flag(TIF_IRQ_SYNC); @@ -956,7 +954,7 @@ index f657b38..a34ef5b 100644 { /* * This code is called by the ins{bwl} routines (see -@@ -320,12 +180,15 @@ void __ipipe_disable_root_irqs_hw(void) +@@ -320,12 +170,15 @@ void __ipipe_disable_root_irqs_hw(void) * the real-time domain. */ bfin_sti(__ipipe_irq_lvmask); @@ -975,7 +973,7 @@ index f657b38..a34ef5b 100644 bfin_sti(bfin_irq_flags); } -@@ -334,64 +197,155 @@ void __ipipe_enable_root_irqs_hw(void) +@@ -334,64 +187,155 @@ void __ipipe_enable_root_irqs_hw(void) * manipulation routines, but let's prepare for SMP support in the * same move, preventing CPU migration as required. */ @@ -1884,10 +1882,10 @@ index e5c31ea..8dce875 100644 .probe = serial8250_probe, .remove = serial8250_remove, diff --git a/fs/exec.c b/fs/exec.c -index 7302b75..e6035e6 100644 +index b7a5f46..0582bd6 100644 --- a/fs/exec.c +++ b/fs/exec.c -@@ -820,6 +820,7 @@ static int exec_mmap(struct mm_struct *mm) +@@ -823,6 +823,7 @@ static int exec_mmap(struct mm_struct *mm) { struct task_struct *tsk; struct mm_struct *old_mm, *active_mm; @@ -1895,7 +1893,7 @@ index 7302b75..e6035e6 100644 /* Notify parent that we're no longer interested in the old VM */ tsk = current; -@@ -843,8 +844,10 @@ static int exec_mmap(struct mm_struct *mm) +@@ -846,8 +847,10 @@ static int exec_mmap(struct mm_struct *mm) task_lock(tsk); active_mm = tsk->active_mm; tsk->mm = mm; @@ -2197,18 +2195,6 @@ index abcafaa..a8440e4 100644 } cacheline_aligned;
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: next Commit: bebaf3a1df28e5c3c1790ab084744727a4f1b089 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=bebaf3a1df28e5c3c1790ab084744727a4f1b089 Author: Philippe GerumDate: Tue Oct 6 15:38:24 2015 +0200 cobalt/blackfin: upgrade I-pipe support --- .../patches/ipipe-core-3.16.7-blackfin-5.patch |11815 ...2.patch => ipipe-core-3.18.20-blackfin-3.patch} | 89 +- 2 files changed, 56 insertions(+), 11848 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=bebaf3a1df28e5c3c1790ab084744727a4f1b089 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: arm64 Commit: 52a2ed8549b5909cd1356986f5ff5ff591a0cfed URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=52a2ed8549b5909cd1356986f5ff5ff591a0cfed Author: Philippe GerumDate: Tue Sep 15 11:24:28 2015 +0200 cobalt/blackfin: upgrade I-pipe support --- ...1.patch => ipipe-core-3.18.20-blackfin-2.patch} | 2117 ++-- 1 file changed, 187 insertions(+), 1930 deletions(-) diff --git a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.12-blackfin-1.patch b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-2.patch similarity index 85% rename from kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.12-blackfin-1.patch rename to kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-2.patch index 3ec93af..b646b42 100644 --- a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.12-blackfin-1.patch +++ b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-2.patch @@ -12,7 +12,7 @@ index af76634..ebff376 100644 comment "Processor and Board Settings" diff --git a/arch/blackfin/include/asm/ipipe.h b/arch/blackfin/include/asm/ipipe.h -index fe1160f..2a486ff 100644 +index fe1160f..7e99af8 100644 --- a/arch/blackfin/include/asm/ipipe.h +++ b/arch/blackfin/include/asm/ipipe.h @@ -28,7 +28,7 @@ @@ -32,7 +32,7 @@ index fe1160f..2a486ff 100644 -#define IPIPE_MAJOR_NUMBER1 -#define IPIPE_MINOR_NUMBER16 -#define IPIPE_PATCH_NUMBER1 -+#define IPIPE_CORE_RELEASE1 ++#define IPIPE_CORE_RELEASE2 #ifdef CONFIG_SMP #error "I-pipe/blackfin: SMP not implemented" @@ -636,7 +636,7 @@ index a017359..e6ad56f 100644 } \ } \ diff --git a/arch/blackfin/kernel/ipipe.c b/arch/blackfin/kernel/ipipe.c -index f657b38..a34ef5b 100644 +index f657b38..4f8ff6d 100644 --- a/arch/blackfin/kernel/ipipe.c +++ b/arch/blackfin/kernel/ipipe.c @@ -32,32 +32,29 @@ @@ -685,7 +685,7 @@ index f657b38..a34ef5b 100644 /* * __ipipe_enable_pipeline() -- We are running on the boot CPU, hw -@@ -71,214 +68,86 @@ void __ipipe_enable_pipeline(void) +@@ -71,214 +68,76 @@ void __ipipe_enable_pipeline(void) __ipipe_freq_scale = 10UL / __ipipe_core_clock; for (irq = 0; irq < NR_IRQS; ++irq) @@ -905,10 +905,9 @@ index f657b38..a34ef5b 100644 - * works for virtual interrupts. - */ -int ipipe_trigger_irq(unsigned irq) -+void ipipe_raise_irq(unsigned int irq) - { - unsigned long flags; - +-{ +- unsigned long flags; +- -#ifdef CONFIG_IPIPE_DEBUG - if (irq >= IPIPE_NR_IRQS || - (ipipe_virtual_irq_p(irq) @@ -916,20 +915,19 @@ index f657b38..a34ef5b 100644 - return -EINVAL; -#endif - - flags = hard_local_irq_save(); - __ipipe_handle_irq(irq, NULL); - hard_local_irq_restore(flags); +- flags = hard_local_irq_save(); +- __ipipe_handle_irq(irq, NULL); +- hard_local_irq_restore(flags); - - return 1; - } -+EXPORT_SYMBOL_GPL(ipipe_raise_irq); - +-} +- -asmlinkage void __ipipe_sync_root(void) +void __ipipe_sync_root(void) { void (*irq_tail_hook)(void) = (void (*)(void))__ipipe_irq_tail_hook; struct ipipe_percpu_domain_data *p; -@@ -293,23 +162,14 @@ asmlinkage void __ipipe_sync_root(void) +@@ -293,23 +152,14 @@ asmlinkage void __ipipe_sync_root(void) clear_thread_flag(TIF_IRQ_SYNC); @@ -956,7 +954,7 @@ index f657b38..a34ef5b 100644 { /* * This code is called by the ins{bwl} routines (see -@@ -320,12 +180,15 @@ void __ipipe_disable_root_irqs_hw(void) +@@ -320,12 +170,15 @@ void __ipipe_disable_root_irqs_hw(void) * the real-time domain. */ bfin_sti(__ipipe_irq_lvmask); @@ -975,7 +973,7 @@ index f657b38..a34ef5b 100644 bfin_sti(bfin_irq_flags); } -@@ -334,64 +197,155 @@ void __ipipe_enable_root_irqs_hw(void) +@@ -334,64 +187,155 @@ void __ipipe_enable_root_irqs_hw(void) * manipulation routines, but let's prepare for SMP support in the * same move, preventing CPU migration as required. */ @@ -1884,10 +1882,10 @@ index e5c31ea..8dce875 100644 .probe = serial8250_probe, .remove = serial8250_remove, diff --git a/fs/exec.c b/fs/exec.c -index 7302b75..e6035e6 100644 +index b7a5f46..0582bd6 100644 --- a/fs/exec.c +++ b/fs/exec.c -@@ -820,6 +820,7 @@ static int exec_mmap(struct mm_struct *mm) +@@ -823,6 +823,7 @@ static int exec_mmap(struct mm_struct *mm) { struct task_struct *tsk; struct mm_struct *old_mm, *active_mm; @@ -1895,7 +1893,7 @@ index 7302b75..e6035e6 100644 /* Notify parent that we're no longer interested in the old VM */ tsk = current; -@@ -843,8 +844,10 @@ static int exec_mmap(struct mm_struct *mm) +@@ -846,8 +847,10 @@ static int exec_mmap(struct mm_struct *mm) task_lock(tsk); active_mm = tsk->active_mm; tsk->mm = mm; @@ -2197,18 +2195,6 @@ index abcafaa..a8440e4 100644 } cacheline_aligned; /*
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: next Commit: 52a2ed8549b5909cd1356986f5ff5ff591a0cfed URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=52a2ed8549b5909cd1356986f5ff5ff591a0cfed Author: Philippe GerumDate: Tue Sep 15 11:24:28 2015 +0200 cobalt/blackfin: upgrade I-pipe support --- ...1.patch => ipipe-core-3.18.20-blackfin-2.patch} | 2117 ++-- 1 file changed, 187 insertions(+), 1930 deletions(-) diff --git a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.12-blackfin-1.patch b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-2.patch similarity index 85% rename from kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.12-blackfin-1.patch rename to kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-2.patch index 3ec93af..b646b42 100644 --- a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.12-blackfin-1.patch +++ b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.18.20-blackfin-2.patch @@ -12,7 +12,7 @@ index af76634..ebff376 100644 comment "Processor and Board Settings" diff --git a/arch/blackfin/include/asm/ipipe.h b/arch/blackfin/include/asm/ipipe.h -index fe1160f..2a486ff 100644 +index fe1160f..7e99af8 100644 --- a/arch/blackfin/include/asm/ipipe.h +++ b/arch/blackfin/include/asm/ipipe.h @@ -28,7 +28,7 @@ @@ -32,7 +32,7 @@ index fe1160f..2a486ff 100644 -#define IPIPE_MAJOR_NUMBER1 -#define IPIPE_MINOR_NUMBER16 -#define IPIPE_PATCH_NUMBER1 -+#define IPIPE_CORE_RELEASE1 ++#define IPIPE_CORE_RELEASE2 #ifdef CONFIG_SMP #error "I-pipe/blackfin: SMP not implemented" @@ -636,7 +636,7 @@ index a017359..e6ad56f 100644 } \ } \ diff --git a/arch/blackfin/kernel/ipipe.c b/arch/blackfin/kernel/ipipe.c -index f657b38..a34ef5b 100644 +index f657b38..4f8ff6d 100644 --- a/arch/blackfin/kernel/ipipe.c +++ b/arch/blackfin/kernel/ipipe.c @@ -32,32 +32,29 @@ @@ -685,7 +685,7 @@ index f657b38..a34ef5b 100644 /* * __ipipe_enable_pipeline() -- We are running on the boot CPU, hw -@@ -71,214 +68,86 @@ void __ipipe_enable_pipeline(void) +@@ -71,214 +68,76 @@ void __ipipe_enable_pipeline(void) __ipipe_freq_scale = 10UL / __ipipe_core_clock; for (irq = 0; irq < NR_IRQS; ++irq) @@ -905,10 +905,9 @@ index f657b38..a34ef5b 100644 - * works for virtual interrupts. - */ -int ipipe_trigger_irq(unsigned irq) -+void ipipe_raise_irq(unsigned int irq) - { - unsigned long flags; - +-{ +- unsigned long flags; +- -#ifdef CONFIG_IPIPE_DEBUG - if (irq >= IPIPE_NR_IRQS || - (ipipe_virtual_irq_p(irq) @@ -916,20 +915,19 @@ index f657b38..a34ef5b 100644 - return -EINVAL; -#endif - - flags = hard_local_irq_save(); - __ipipe_handle_irq(irq, NULL); - hard_local_irq_restore(flags); +- flags = hard_local_irq_save(); +- __ipipe_handle_irq(irq, NULL); +- hard_local_irq_restore(flags); - - return 1; - } -+EXPORT_SYMBOL_GPL(ipipe_raise_irq); - +-} +- -asmlinkage void __ipipe_sync_root(void) +void __ipipe_sync_root(void) { void (*irq_tail_hook)(void) = (void (*)(void))__ipipe_irq_tail_hook; struct ipipe_percpu_domain_data *p; -@@ -293,23 +162,14 @@ asmlinkage void __ipipe_sync_root(void) +@@ -293,23 +152,14 @@ asmlinkage void __ipipe_sync_root(void) clear_thread_flag(TIF_IRQ_SYNC); @@ -956,7 +954,7 @@ index f657b38..a34ef5b 100644 { /* * This code is called by the ins{bwl} routines (see -@@ -320,12 +180,15 @@ void __ipipe_disable_root_irqs_hw(void) +@@ -320,12 +170,15 @@ void __ipipe_disable_root_irqs_hw(void) * the real-time domain. */ bfin_sti(__ipipe_irq_lvmask); @@ -975,7 +973,7 @@ index f657b38..a34ef5b 100644 bfin_sti(bfin_irq_flags); } -@@ -334,64 +197,155 @@ void __ipipe_enable_root_irqs_hw(void) +@@ -334,64 +187,155 @@ void __ipipe_enable_root_irqs_hw(void) * manipulation routines, but let's prepare for SMP support in the * same move, preventing CPU migration as required. */ @@ -1884,10 +1882,10 @@ index e5c31ea..8dce875 100644 .probe = serial8250_probe, .remove = serial8250_remove, diff --git a/fs/exec.c b/fs/exec.c -index 7302b75..e6035e6 100644 +index b7a5f46..0582bd6 100644 --- a/fs/exec.c +++ b/fs/exec.c -@@ -820,6 +820,7 @@ static int exec_mmap(struct mm_struct *mm) +@@ -823,6 +823,7 @@ static int exec_mmap(struct mm_struct *mm) { struct task_struct *tsk; struct mm_struct *old_mm, *active_mm; @@ -1895,7 +1893,7 @@ index 7302b75..e6035e6 100644 /* Notify parent that we're no longer interested in the old VM */ tsk = current; -@@ -843,8 +844,10 @@ static int exec_mmap(struct mm_struct *mm) +@@ -846,8 +847,10 @@ static int exec_mmap(struct mm_struct *mm) task_lock(tsk); active_mm = tsk->active_mm; tsk->mm = mm; @@ -2197,18 +2195,6 @@ index abcafaa..a8440e4 100644 } cacheline_aligned; /*
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: master Commit: 95c72f82d96eeac12aa682bff54f8b05a5050098 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=95c72f82d96eeac12aa682bff54f8b05a5050098 Author: Philippe Gerum r...@xenomai.org Date: Wed Jun 17 17:22:30 2015 +0200 cobalt/blackfin: upgrade I-pipe support --- ...4.patch = ipipe-core-3.10.32-blackfin-5.patch} | 12 +- ...6.patch = ipipe-core-3.14.39-blackfin-7.patch} | 55 +- ...-3.patch = ipipe-core-3.16.7-blackfin-5.patch} | 27 +- .../patches/ipipe-core-3.18.12-blackfin-1.patch|13561 4 files changed, 13625 insertions(+), 30 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=95c72f82d96eeac12aa682bff54f8b05a5050098 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: next Commit: 95c72f82d96eeac12aa682bff54f8b05a5050098 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=95c72f82d96eeac12aa682bff54f8b05a5050098 Author: Philippe Gerum r...@xenomai.org Date: Wed Jun 17 17:22:30 2015 +0200 cobalt/blackfin: upgrade I-pipe support --- ...4.patch = ipipe-core-3.10.32-blackfin-5.patch} | 12 +- ...6.patch = ipipe-core-3.14.39-blackfin-7.patch} | 55 +- ...-3.patch = ipipe-core-3.16.7-blackfin-5.patch} | 27 +- .../patches/ipipe-core-3.18.12-blackfin-1.patch|13561 4 files changed, 13625 insertions(+), 30 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=95c72f82d96eeac12aa682bff54f8b05a5050098 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: next Commit: 5934fa79fde0437427f8dc2c2d8cf1f279656ea5 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=5934fa79fde0437427f8dc2c2d8cf1f279656ea5 Author: Philippe Gerum r...@xenomai.org Date: Wed Jun 17 17:22:30 2015 +0200 cobalt/blackfin: upgrade I-pipe support --- ...4.patch = ipipe-core-3.10.32-blackfin-5.patch} | 12 +- ...6.patch = ipipe-core-3.14.39-blackfin-7.patch} | 55 +- ...-3.patch = ipipe-core-3.16.7-blackfin-5.patch} | 27 +- .../patches/ipipe-core-3.18.12-blackfin-1.patch|13561 4 files changed, 13625 insertions(+), 30 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=5934fa79fde0437427f8dc2c2d8cf1f279656ea5 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: next Commit: f22437df109039a45f86f2b3b08ea51b4b75c915 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=f22437df109039a45f86f2b3b08ea51b4b75c915 Author: Philippe Gerum r...@xenomai.org Date: Fri Mar 20 09:26:55 2015 +0100 cobalt/blackfin: upgrade I-pipe support --- ...6.patch = ipipe-core-3.14.33-blackfin-6.patch} | 29 --- ...-2.patch = ipipe-core-3.16.7-blackfin-3.patch} | 87 +--- 2 files changed, 75 insertions(+), 41 deletions(-) diff --git a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.28-blackfin-6.patch b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.33-blackfin-6.patch similarity index 99% rename from kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.28-blackfin-6.patch rename to kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.33-blackfin-6.patch index 3595c19..e54fb5b 100644 --- a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.28-blackfin-6.patch +++ b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.33-blackfin-6.patch @@ -10080,7 +10080,7 @@ index 452d6f2..7f20d7c 100644 } diff --git a/kernel/irq/internals.h b/kernel/irq/internals.h -index 001fa5b..4dad5c7 100644 +index 8a160e8..8a62f8b 100644 --- a/kernel/irq/internals.h +++ b/kernel/irq/internals.h @@ -53,6 +53,9 @@ enum { @@ -10094,7 +10094,7 @@ index 001fa5b..4dad5c7 100644 #include debug.h diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c -index 8ab8e93..5261b2a 100644 +index 07d4551..dc0af3d 100644 --- a/kernel/irq/irqdesc.c +++ b/kernel/irq/irqdesc.c @@ -91,6 +91,9 @@ static void desc_set_defaults(unsigned int irq, struct irq_desc *desc, int node, @@ -10107,7 +10107,7 @@ index 8ab8e93..5261b2a 100644 } int nr_irqs = NR_IRQS; -@@ -270,11 +273,13 @@ int __init early_irq_init(void) +@@ -286,11 +289,13 @@ int __init early_irq_init(void) return arch_early_irq_init(); } @@ -10947,7 +10947,7 @@ index 0de9d7f..7615cff 100644 } diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c -index 6558b7a..f0ddb74 100644 +index 8c08a6f..a21ec0f 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -148,7 +148,7 @@ static void tick_sched_handle(struct tick_sched *ts, struct pt_regs *regs) @@ -11291,7 +11291,7 @@ index 2aefbee..c3ec43f 100644 } EXPORT_SYMBOL(trace_hardirqs_off_caller); diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug -index a48abea..50cc0312 100644 +index a48abea..0e8ae4a 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -312,6 +312,7 @@ config MAGIC_SYSRQ @@ -11320,6 +11320,15 @@ index a48abea..50cc0312 100644 ---help--- Say Y here if you want to check for overflows of kernel, IRQ and exception stacks (if your archicture uses them). This +@@ -1088,7 +1091,7 @@ menu RCU Debugging + + config PROVE_RCU + bool RCU debugging: prove RCU correctness +- depends on PROVE_LOCKING ++ depends on PROVE_LOCKING !IPIPE + default n + help +This feature enables lockdep extensions that check for correct diff --git a/lib/atomic64.c b/lib/atomic64.c index 08a4f06..15810f4 100644 --- a/lib/atomic64.c @@ -11511,7 +11520,7 @@ index 0862816..aacbf2df 100644 help Transparent Hugepages allows the kernel to use huge pages and diff --git a/mm/memory.c b/mm/memory.c -index 48d7365..e23fa86 100644 +index 7f30bea..100a209 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -788,6 +788,34 @@ out: @@ -11582,7 +11591,7 @@ index 48d7365..e23fa86 100644 ptep_set_wrprotect(src_mm, addr, src_pte); pte = pte_wrprotect(pte); } -@@ -888,13 +931,27 @@ int copy_pte_range(struct mm_struct *dst_mm, struct mm_struct *src_mm, +@@ -888,13 +931,27 @@ static int copy_pte_range(struct mm_struct *dst_mm, struct mm_struct *src_mm, int progress = 0; int rss[NR_MM_COUNTERS]; swp_entry_t entry = (swp_entry_t){0}; @@ -11750,7 +11759,7 @@ index b1eb536..ca23f83 100644 +} +#endif diff --git a/mm/mmap.c b/mm/mmap.c -index b91ac80..47ee8c0 100644 +index 085bcd8..ef56280 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -45,6 +45,10 @@ @@ -11764,7 +11773,7 @@ index b91ac80..47ee8c0 100644 #ifndef arch_mmap_check #define arch_mmap_check(addr, len, flags) (0) #endif -@@ -2613,7 +2617,7 @@ static unsigned long do_brk(unsigned long addr, unsigned long len) +@@ -2616,7 +2620,7 @@ static unsigned long do_brk(unsigned long addr, unsigned long len) flags = VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm-def_flags; @@ -11815,7 +11824,7 @@ index 769a67a..8c40894 100644 return pages; diff --git a/mm/vmalloc.c b/mm/vmalloc.c -index 0fdf968..4a96f40 100644 +index aa3891e..5c756384 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -191,6 +191,8 @@ static int vmap_page_range_noflush(unsigned long start, unsigned long end, diff --git a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.16-blackfin-2.patch
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: master Commit: 936bc855d810b68fa8966e5c50dbc6540747d0df URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=936bc855d810b68fa8966e5c50dbc6540747d0df Author: Philippe Gerum r...@xenomai.org Date: Tue Feb 3 18:31:57 2015 +0100 cobalt/blackfin: upgrade I-pipe support --- ...in-1.patch = ipipe-core-3.16-blackfin-2.patch} | 74 +++- 1 file changed, 72 insertions(+), 2 deletions(-) diff --git a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.16-blackfin-1.patch b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.16-blackfin-2.patch similarity index 99% rename from kernel/cobalt/arch/blackfin/patches/ipipe-core-3.16-blackfin-1.patch rename to kernel/cobalt/arch/blackfin/patches/ipipe-core-3.16-blackfin-2.patch index cf38275..c502f05 100644 --- a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.16-blackfin-1.patch +++ b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.16-blackfin-2.patch @@ -12,7 +12,7 @@ index f81e7b9..8af0949 100644 comment Processor and Board Settings diff --git a/arch/blackfin/include/asm/ipipe.h b/arch/blackfin/include/asm/ipipe.h -index 17b5e92..2a486ff 100644 +index 17b5e92..7e99af8 100644 --- a/arch/blackfin/include/asm/ipipe.h +++ b/arch/blackfin/include/asm/ipipe.h @@ -28,7 +28,7 @@ @@ -32,7 +32,7 @@ index 17b5e92..2a486ff 100644 -#define IPIPE_MAJOR_NUMBER1 -#define IPIPE_MINOR_NUMBER16 -#define IPIPE_PATCH_NUMBER1 -+#define IPIPE_CORE_RELEASE1 ++#define IPIPE_CORE_RELEASE2 #ifdef CONFIG_SMP #error I-pipe/blackfin: SMP not implemented @@ -4442,6 +4442,76 @@ index ec4e3bd..b32a421 100644 int cpu; int vcpu_id; int srcu_idx; +diff --git a/include/linux/percpu.h b/include/linux/percpu.h +index 8419053..e5d43ab 100644 +--- a/include/linux/percpu.h b/include/linux/percpu.h +@@ -303,9 +303,9 @@ do { \ + #define _this_cpu_generic_to_op(pcp, val, op) \ + do { \ + unsigned long flags;\ +- raw_local_irq_save(flags); \ ++ flags = hard_local_irq_save(); \ + *raw_cpu_ptr((pcp)) op val;\ +- raw_local_irq_restore(flags); \ ++ hard_local_irq_restore(flags); \ + } while (0) + + #ifndef this_cpu_write +@@ -388,10 +388,10 @@ do { \ + ({\ + typeof(pcp) ret__; \ + unsigned long flags;\ +- raw_local_irq_save(flags); \ +- raw_cpu_add(pcp, val); \ ++ flags = hard_local_irq_save(); \ ++ raw_cpu_add(pcp, val); \ + ret__ = raw_cpu_read(pcp); \ +- raw_local_irq_restore(flags); \ ++ hard_local_irq_restore(flags); \ + ret__; \ + }) + +@@ -418,10 +418,10 @@ do { \ + #define _this_cpu_generic_xchg(pcp, nval) \ + ({typeof(pcp) ret__; \ + unsigned long flags;\ +- raw_local_irq_save(flags); \ ++ flags = hard_local_irq_save(); \ + ret__ = raw_cpu_read(pcp); \ + raw_cpu_write(pcp, nval); \ +- raw_local_irq_restore(flags); \ ++ hard_local_irq_restore(flags); \ + ret__; \ + }) + +@@ -446,11 +446,11 @@ do { \ + ({\ + typeof(pcp) ret__; \ + unsigned long flags;\ +- raw_local_irq_save(flags); \ ++ flags = hard_local_irq_save(); \ + ret__ = raw_cpu_read(pcp); \ + if (ret__ == (oval))\ + raw_cpu_write(pcp, nval);
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: master Commit: 9bb68d39ec4ede2324d43fc688369c6b9b0720c4 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=9bb68d39ec4ede2324d43fc688369c6b9b0720c4 Author: Philippe Gerum r...@xenomai.org Date: Thu Feb 5 09:05:07 2015 +0100 cobalt/blackfin: upgrade I-pipe support --- ...5.patch = ipipe-core-3.14.28-blackfin-6.patch} | 189 +--- 1 file changed, 125 insertions(+), 64 deletions(-) diff --git a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.17-blackfin-5.patch b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.28-blackfin-6.patch similarity index 98% rename from kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.17-blackfin-5.patch rename to kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.28-blackfin-6.patch index 0bd4dd2..3595c19 100644 --- a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.17-blackfin-5.patch +++ b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.28-blackfin-6.patch @@ -12,7 +12,7 @@ index 9ceccef..3c94fa7 100644 comment Processor and Board Settings diff --git a/arch/blackfin/include/asm/ipipe.h b/arch/blackfin/include/asm/ipipe.h -index 17b5e92..f9a5b33 100644 +index 17b5e92..cc10543 100644 --- a/arch/blackfin/include/asm/ipipe.h +++ b/arch/blackfin/include/asm/ipipe.h @@ -28,7 +28,7 @@ @@ -32,7 +32,7 @@ index 17b5e92..f9a5b33 100644 -#define IPIPE_MAJOR_NUMBER1 -#define IPIPE_MINOR_NUMBER16 -#define IPIPE_PATCH_NUMBER1 -+#define IPIPE_CORE_RELEASE5 ++#define IPIPE_CORE_RELEASE6 #ifdef CONFIG_SMP #error I-pipe/blackfin: SMP not implemented @@ -1884,18 +1884,18 @@ index 612dfc7..ffd8160 100644 .probe = serial8250_probe, .remove = serial8250_remove, diff --git a/fs/exec.c b/fs/exec.c -index 31e46b1..424e32a 100644 +index ea4449d..aa73a12 100644 --- a/fs/exec.c +++ b/fs/exec.c -@@ -821,6 +821,7 @@ static int exec_mmap(struct mm_struct *mm) +@@ -822,6 +822,7 @@ static int exec_mmap(struct mm_struct *mm) { struct task_struct *tsk; - struct mm_struct * old_mm, *active_mm; + struct mm_struct *old_mm, *active_mm; + unsigned long flags; /* Notify parent that we're no longer interested in the old VM */ tsk = current; -@@ -844,8 +845,10 @@ static int exec_mmap(struct mm_struct *mm) +@@ -845,8 +846,10 @@ static int exec_mmap(struct mm_struct *mm) task_lock(tsk); active_mm = tsk-active_mm; tsk-mm = mm; @@ -1903,9 +1903,9 @@ index 31e46b1..424e32a 100644 tsk-active_mm = mm; activate_mm(active_mm, mm); + ipipe_mm_switch_unprotect(flags); + tsk-mm-vmacache_seqnum = 0; + vmacache_flush(tsk); task_unlock(tsk); - if (old_mm) { - up_read(old_mm-mmap_sem); diff --git a/include/asm-generic/atomic.h b/include/asm-generic/atomic.h index 33bd2de..f752d41 100644 --- a/include/asm-generic/atomic.h @@ -2132,7 +2132,7 @@ index 493aa02..cb59b28 100644 /* diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h -index 67301a4..2562bfd 100644 +index 879065d..120fd3f 100644 --- a/include/linux/clocksource.h +++ b/include/linux/clocksource.h @@ -198,6 +198,10 @@ struct clocksource { @@ -4529,7 +4529,7 @@ index 5b9b84b..6c8bb4d 100644 static inline void __raw_read_lock(rwlock_t *lock) { diff --git a/include/linux/sched.h b/include/linux/sched.h -index ccd0c6f..2591dfc 100644 +index 218b058..d579687 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -24,6 +24,7 @@ struct sched_param { @@ -4540,7 +4540,7 @@ index ccd0c6f..2591dfc 100644 #include asm/page.h #include asm/ptrace.h -@@ -211,9 +212,17 @@ print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq); +@@ -215,9 +216,17 @@ print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq); #define TASK_WAKEKILL 128 #define TASK_WAKING 256 #define TASK_PARKED 512 @@ -4559,7 +4559,7 @@ index ccd0c6f..2591dfc 100644 extern char ___assert_task_state[1 - 2*!!( sizeof(TASK_STATE_TO_CHAR_STR)-1 != ilog2(TASK_STATE_MAX)+1)]; -@@ -325,6 +334,15 @@ extern void trap_init(void); +@@ -329,6 +338,15 @@ extern void trap_init(void); extern void update_process_times(int user); extern void scheduler_tick(void); @@ -4575,7 +4575,7 @@ index ccd0c6f..2591dfc 100644 extern void sched_show_task(struct task_struct *p); #ifdef CONFIG_LOCKUP_DETECTOR -@@ -445,6 +463,9 @@ static inline int get_dumpable(struct mm_struct *mm) +@@ -449,6 +467,9 @@ static inline int get_dumpable(struct mm_struct *mm) #define MMF_VM_MERGEABLE 16 /* KSM may merge identical pages */ #define MMF_VM_HUGEPAGE 17 /* set when VM_HUGEPAGE is set on vma */ #define MMF_EXE_FILE_CHANGED 18 /* see prctl_set_mm_exe_file() */ @@ -4585,7 +4585,7 @@ index ccd0c6f..2591dfc 100644 #define MMF_HAS_UPROBES 19 /* has uprobes */ #define MMF_RECALC_UPROBES
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: master Commit: f86a5dd581157b23ab424c3df7d9a146abf56549 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=f86a5dd581157b23ab424c3df7d9a146abf56549 Author: Philippe Gerum r...@xenomai.org Date: Tue Jan 6 17:39:11 2015 +0100 cobalt/blackfin: upgrade I-pipe support --- ...3.patch = ipipe-core-3.10.32-blackfin-4.patch} | 188 +- ...4.patch = ipipe-core-3.14.17-blackfin-5.patch} | 290 +- .../patches/ipipe-core-3.16-blackfin-1.patch |11711 3 files changed, 12086 insertions(+), 103 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=f86a5dd581157b23ab424c3df7d9a146abf56549 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: next Commit: 9bb68d39ec4ede2324d43fc688369c6b9b0720c4 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=9bb68d39ec4ede2324d43fc688369c6b9b0720c4 Author: Philippe Gerum r...@xenomai.org Date: Thu Feb 5 09:05:07 2015 +0100 cobalt/blackfin: upgrade I-pipe support --- ...5.patch = ipipe-core-3.14.28-blackfin-6.patch} | 189 +--- 1 file changed, 125 insertions(+), 64 deletions(-) diff --git a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.17-blackfin-5.patch b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.28-blackfin-6.patch similarity index 98% rename from kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.17-blackfin-5.patch rename to kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.28-blackfin-6.patch index 0bd4dd2..3595c19 100644 --- a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.17-blackfin-5.patch +++ b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.14.28-blackfin-6.patch @@ -12,7 +12,7 @@ index 9ceccef..3c94fa7 100644 comment Processor and Board Settings diff --git a/arch/blackfin/include/asm/ipipe.h b/arch/blackfin/include/asm/ipipe.h -index 17b5e92..f9a5b33 100644 +index 17b5e92..cc10543 100644 --- a/arch/blackfin/include/asm/ipipe.h +++ b/arch/blackfin/include/asm/ipipe.h @@ -28,7 +28,7 @@ @@ -32,7 +32,7 @@ index 17b5e92..f9a5b33 100644 -#define IPIPE_MAJOR_NUMBER1 -#define IPIPE_MINOR_NUMBER16 -#define IPIPE_PATCH_NUMBER1 -+#define IPIPE_CORE_RELEASE5 ++#define IPIPE_CORE_RELEASE6 #ifdef CONFIG_SMP #error I-pipe/blackfin: SMP not implemented @@ -1884,18 +1884,18 @@ index 612dfc7..ffd8160 100644 .probe = serial8250_probe, .remove = serial8250_remove, diff --git a/fs/exec.c b/fs/exec.c -index 31e46b1..424e32a 100644 +index ea4449d..aa73a12 100644 --- a/fs/exec.c +++ b/fs/exec.c -@@ -821,6 +821,7 @@ static int exec_mmap(struct mm_struct *mm) +@@ -822,6 +822,7 @@ static int exec_mmap(struct mm_struct *mm) { struct task_struct *tsk; - struct mm_struct * old_mm, *active_mm; + struct mm_struct *old_mm, *active_mm; + unsigned long flags; /* Notify parent that we're no longer interested in the old VM */ tsk = current; -@@ -844,8 +845,10 @@ static int exec_mmap(struct mm_struct *mm) +@@ -845,8 +846,10 @@ static int exec_mmap(struct mm_struct *mm) task_lock(tsk); active_mm = tsk-active_mm; tsk-mm = mm; @@ -1903,9 +1903,9 @@ index 31e46b1..424e32a 100644 tsk-active_mm = mm; activate_mm(active_mm, mm); + ipipe_mm_switch_unprotect(flags); + tsk-mm-vmacache_seqnum = 0; + vmacache_flush(tsk); task_unlock(tsk); - if (old_mm) { - up_read(old_mm-mmap_sem); diff --git a/include/asm-generic/atomic.h b/include/asm-generic/atomic.h index 33bd2de..f752d41 100644 --- a/include/asm-generic/atomic.h @@ -2132,7 +2132,7 @@ index 493aa02..cb59b28 100644 /* diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h -index 67301a4..2562bfd 100644 +index 879065d..120fd3f 100644 --- a/include/linux/clocksource.h +++ b/include/linux/clocksource.h @@ -198,6 +198,10 @@ struct clocksource { @@ -4529,7 +4529,7 @@ index 5b9b84b..6c8bb4d 100644 static inline void __raw_read_lock(rwlock_t *lock) { diff --git a/include/linux/sched.h b/include/linux/sched.h -index ccd0c6f..2591dfc 100644 +index 218b058..d579687 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -24,6 +24,7 @@ struct sched_param { @@ -4540,7 +4540,7 @@ index ccd0c6f..2591dfc 100644 #include asm/page.h #include asm/ptrace.h -@@ -211,9 +212,17 @@ print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq); +@@ -215,9 +216,17 @@ print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq); #define TASK_WAKEKILL 128 #define TASK_WAKING 256 #define TASK_PARKED 512 @@ -4559,7 +4559,7 @@ index ccd0c6f..2591dfc 100644 extern char ___assert_task_state[1 - 2*!!( sizeof(TASK_STATE_TO_CHAR_STR)-1 != ilog2(TASK_STATE_MAX)+1)]; -@@ -325,6 +334,15 @@ extern void trap_init(void); +@@ -329,6 +338,15 @@ extern void trap_init(void); extern void update_process_times(int user); extern void scheduler_tick(void); @@ -4575,7 +4575,7 @@ index ccd0c6f..2591dfc 100644 extern void sched_show_task(struct task_struct *p); #ifdef CONFIG_LOCKUP_DETECTOR -@@ -445,6 +463,9 @@ static inline int get_dumpable(struct mm_struct *mm) +@@ -449,6 +467,9 @@ static inline int get_dumpable(struct mm_struct *mm) #define MMF_VM_MERGEABLE 16 /* KSM may merge identical pages */ #define MMF_VM_HUGEPAGE 17 /* set when VM_HUGEPAGE is set on vma */ #define MMF_EXE_FILE_CHANGED 18 /* see prctl_set_mm_exe_file() */ @@ -4585,7 +4585,7 @@ index ccd0c6f..2591dfc 100644 #define MMF_HAS_UPROBES 19 /* has uprobes */ #define MMF_RECALC_UPROBES
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: next Commit: 936bc855d810b68fa8966e5c50dbc6540747d0df URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=936bc855d810b68fa8966e5c50dbc6540747d0df Author: Philippe Gerum r...@xenomai.org Date: Tue Feb 3 18:31:57 2015 +0100 cobalt/blackfin: upgrade I-pipe support --- ...in-1.patch = ipipe-core-3.16-blackfin-2.patch} | 74 +++- 1 file changed, 72 insertions(+), 2 deletions(-) diff --git a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.16-blackfin-1.patch b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.16-blackfin-2.patch similarity index 99% rename from kernel/cobalt/arch/blackfin/patches/ipipe-core-3.16-blackfin-1.patch rename to kernel/cobalt/arch/blackfin/patches/ipipe-core-3.16-blackfin-2.patch index cf38275..c502f05 100644 --- a/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.16-blackfin-1.patch +++ b/kernel/cobalt/arch/blackfin/patches/ipipe-core-3.16-blackfin-2.patch @@ -12,7 +12,7 @@ index f81e7b9..8af0949 100644 comment Processor and Board Settings diff --git a/arch/blackfin/include/asm/ipipe.h b/arch/blackfin/include/asm/ipipe.h -index 17b5e92..2a486ff 100644 +index 17b5e92..7e99af8 100644 --- a/arch/blackfin/include/asm/ipipe.h +++ b/arch/blackfin/include/asm/ipipe.h @@ -28,7 +28,7 @@ @@ -32,7 +32,7 @@ index 17b5e92..2a486ff 100644 -#define IPIPE_MAJOR_NUMBER1 -#define IPIPE_MINOR_NUMBER16 -#define IPIPE_PATCH_NUMBER1 -+#define IPIPE_CORE_RELEASE1 ++#define IPIPE_CORE_RELEASE2 #ifdef CONFIG_SMP #error I-pipe/blackfin: SMP not implemented @@ -4442,6 +4442,76 @@ index ec4e3bd..b32a421 100644 int cpu; int vcpu_id; int srcu_idx; +diff --git a/include/linux/percpu.h b/include/linux/percpu.h +index 8419053..e5d43ab 100644 +--- a/include/linux/percpu.h b/include/linux/percpu.h +@@ -303,9 +303,9 @@ do { \ + #define _this_cpu_generic_to_op(pcp, val, op) \ + do { \ + unsigned long flags;\ +- raw_local_irq_save(flags); \ ++ flags = hard_local_irq_save(); \ + *raw_cpu_ptr((pcp)) op val;\ +- raw_local_irq_restore(flags); \ ++ hard_local_irq_restore(flags); \ + } while (0) + + #ifndef this_cpu_write +@@ -388,10 +388,10 @@ do { \ + ({\ + typeof(pcp) ret__; \ + unsigned long flags;\ +- raw_local_irq_save(flags); \ +- raw_cpu_add(pcp, val); \ ++ flags = hard_local_irq_save(); \ ++ raw_cpu_add(pcp, val); \ + ret__ = raw_cpu_read(pcp); \ +- raw_local_irq_restore(flags); \ ++ hard_local_irq_restore(flags); \ + ret__; \ + }) + +@@ -418,10 +418,10 @@ do { \ + #define _this_cpu_generic_xchg(pcp, nval) \ + ({typeof(pcp) ret__; \ + unsigned long flags;\ +- raw_local_irq_save(flags); \ ++ flags = hard_local_irq_save(); \ + ret__ = raw_cpu_read(pcp); \ + raw_cpu_write(pcp, nval); \ +- raw_local_irq_restore(flags); \ ++ hard_local_irq_restore(flags); \ + ret__; \ + }) + +@@ -446,11 +446,11 @@ do { \ + ({\ + typeof(pcp) ret__; \ + unsigned long flags;\ +- raw_local_irq_save(flags); \ ++ flags = hard_local_irq_save(); \ + ret__ = raw_cpu_read(pcp); \ + if (ret__ == (oval))\ + raw_cpu_write(pcp, nval);
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-3 Branch: next Commit: f86a5dd581157b23ab424c3df7d9a146abf56549 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=f86a5dd581157b23ab424c3df7d9a146abf56549 Author: Philippe Gerum r...@xenomai.org Date: Tue Jan 6 17:39:11 2015 +0100 cobalt/blackfin: upgrade I-pipe support --- ...3.patch = ipipe-core-3.10.32-blackfin-4.patch} | 188 +- ...4.patch = ipipe-core-3.14.17-blackfin-5.patch} | 290 +- .../patches/ipipe-core-3.16-blackfin-1.patch |11711 3 files changed, 12086 insertions(+), 103 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=f86a5dd581157b23ab424c3df7d9a146abf56549 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-forge Branch: next Commit: f9731f99f592415499eb4672d828786888d89fdb URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=f9731f99f592415499eb4672d828786888d89fdb Author: Philippe Gerum r...@xenomai.org Date: Mon Sep 22 16:41:17 2014 +0200 cobalt/blackfin: upgrade I-pipe support --- ...1.patch = ipipe-core-3.10.32-blackfin-2.patch} | 507 +- .../patches/ipipe-core-3.14.17-blackfin-3.patch|11586 2 files changed, 11950 insertions(+), 143 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-forge.git;a=commitdiff;h=f9731f99f592415499eb4672d828786888d89fdb ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/blackfin: upgrade I-pipe support
Module: xenomai-forge Branch: next Commit: 060853e10e9469f17b0544a7c931479403c0770b URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=060853e10e9469f17b0544a7c931479403c0770b Author: Philippe Gerum r...@xenomai.org Date: Mon Sep 22 16:41:17 2014 +0200 cobalt/blackfin: upgrade I-pipe support --- ...1.patch = ipipe-core-3.10.32-blackfin-3.patch} | 505 +- .../patches/ipipe-core-3.14.17-blackfin-4.patch|11584 2 files changed, 11946 insertions(+), 143 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-forge.git;a=commitdiff;h=060853e10e9469f17b0544a7c931479403c0770b ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git