[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: wip/drivers Commit: be6f3c41769cacbcfa9efc9add46543be0d09bde URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=be6f3c41769cacbcfa9efc9add46543be0d09bde Author: Philippe Gerum Date: Fri Sep 9 19:00:22 2016 +0200 cobalt/x86: upgrade I-pipe support --- ...-x86-6.patch => ipipe-core-3.18.20-x86-8.patch} | 79 +++-- ...8-x86-3.patch => ipipe-core-4.1.18-x86-7.patch} | 313 +++- 2 files changed, 302 insertions(+), 90 deletions(-) diff --git a/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-6.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-8.patch similarity index 99% rename from kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-6.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-8.patch index 128c382..51ebf67 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-6.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-8.patch @@ -449,7 +449,7 @@ index 615fa90..e0a62ab 100644 extern void default_send_IPI_mask_sequence_phys(const struct cpumask *mask, diff --git a/arch/x86/include/asm/ipipe.h b/arch/x86/include/asm/ipipe.h new file mode 100644 -index 000..ccc8945 +index 000..12305ff --- /dev/null +++ b/arch/x86/include/asm/ipipe.h @@ -0,0 +1,118 @@ @@ -479,7 +479,7 @@ index 000..ccc8945 + +#ifdef CONFIG_IPIPE + -+#define IPIPE_CORE_RELEASE6 ++#define IPIPE_CORE_RELEASE8 + +struct ipipe_domain; +struct pt_regs; @@ -3426,10 +3426,10 @@ index e7cc537..bc5e8f8 100644 handle_real_irq: diff --git a/arch/x86/kernel/ipipe.c b/arch/x86/kernel/ipipe.c new file mode 100644 -index 000..a06e6bb +index 000..d756d17 --- /dev/null +++ b/arch/x86/kernel/ipipe.c -@@ -0,0 +1,499 @@ +@@ -0,0 +1,504 @@ +/* -*- linux-c -*- + * linux/arch/x86/kernel/ipipe.c + * @@ -3465,6 +3465,7 @@ index 000..a06e6bb +#include +#include +#include ++#include +#include +#include +#include @@ -3929,6 +3930,10 @@ index 000..a06e6bb +#if defined(CONFIG_CC_STACKPROTECTOR) && defined(CONFIG_X86_64) +EXPORT_PER_CPU_SYMBOL_GPL(irq_stack_union); +#endif ++ ++#if defined(CONFIG_TRACEPOINTS) && defined(CONFIG_IPIPE_LEGACY) ++EXPORT_TRACEPOINT_SYMBOL_GPL(tlb_flush); ++#endif diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c index 3790775..218eb83 100644 --- a/arch/x86/kernel/irq.c @@ -5831,6 +5836,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 @@ -11776,7 +11793,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 @@ @@ -13114,7 +13131,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, @@ -14675,7 +14692,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 @@ @@ -14686,7 +14703,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 != &ftrace_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_t
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: stable-3.0.x Commit: be6f3c41769cacbcfa9efc9add46543be0d09bde URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=be6f3c41769cacbcfa9efc9add46543be0d09bde Author: Philippe Gerum Date: Fri Sep 9 19:00:22 2016 +0200 cobalt/x86: upgrade I-pipe support --- ...-x86-6.patch => ipipe-core-3.18.20-x86-8.patch} | 79 +++-- ...8-x86-3.patch => ipipe-core-4.1.18-x86-7.patch} | 313 +++- 2 files changed, 302 insertions(+), 90 deletions(-) diff --git a/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-6.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-8.patch similarity index 99% rename from kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-6.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-8.patch index 128c382..51ebf67 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-6.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-8.patch @@ -449,7 +449,7 @@ index 615fa90..e0a62ab 100644 extern void default_send_IPI_mask_sequence_phys(const struct cpumask *mask, diff --git a/arch/x86/include/asm/ipipe.h b/arch/x86/include/asm/ipipe.h new file mode 100644 -index 000..ccc8945 +index 000..12305ff --- /dev/null +++ b/arch/x86/include/asm/ipipe.h @@ -0,0 +1,118 @@ @@ -479,7 +479,7 @@ index 000..ccc8945 + +#ifdef CONFIG_IPIPE + -+#define IPIPE_CORE_RELEASE6 ++#define IPIPE_CORE_RELEASE8 + +struct ipipe_domain; +struct pt_regs; @@ -3426,10 +3426,10 @@ index e7cc537..bc5e8f8 100644 handle_real_irq: diff --git a/arch/x86/kernel/ipipe.c b/arch/x86/kernel/ipipe.c new file mode 100644 -index 000..a06e6bb +index 000..d756d17 --- /dev/null +++ b/arch/x86/kernel/ipipe.c -@@ -0,0 +1,499 @@ +@@ -0,0 +1,504 @@ +/* -*- linux-c -*- + * linux/arch/x86/kernel/ipipe.c + * @@ -3465,6 +3465,7 @@ index 000..a06e6bb +#include +#include +#include ++#include +#include +#include +#include @@ -3929,6 +3930,10 @@ index 000..a06e6bb +#if defined(CONFIG_CC_STACKPROTECTOR) && defined(CONFIG_X86_64) +EXPORT_PER_CPU_SYMBOL_GPL(irq_stack_union); +#endif ++ ++#if defined(CONFIG_TRACEPOINTS) && defined(CONFIG_IPIPE_LEGACY) ++EXPORT_TRACEPOINT_SYMBOL_GPL(tlb_flush); ++#endif diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c index 3790775..218eb83 100644 --- a/arch/x86/kernel/irq.c @@ -5831,6 +5836,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 @@ -11776,7 +11793,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 @@ @@ -13114,7 +13131,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, @@ -14675,7 +14692,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 @@ @@ -14686,7 +14703,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 != &ftrace_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_
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: stable-3.0.x Commit: 260a33cf15afe5d3ea0717bb48f049ca23875cb6 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=260a33cf15afe5d3ea0717bb48f049ca23875cb6 Author: Philippe Gerum Date: Thu Mar 24 12:35:02 2016 +0100 cobalt/x86: upgrade I-pipe support --- ...-x86-7.patch => ipipe-core-3.10.32-x86-8.patch} | 23 +--- ...86-11.patch => ipipe-core-3.14.44-x86-12.patch} | 16 ++ ...-x86-5.patch => ipipe-core-3.18.20-x86-6.patch} | 16 ++ 3 files changed, 10 insertions(+), 45 deletions(-) diff --git a/kernel/cobalt/arch/x86/patches/ipipe-core-3.10.32-x86-7.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.10.32-x86-8.patch similarity index 99% rename from kernel/cobalt/arch/x86/patches/ipipe-core-3.10.32-x86-7.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-3.10.32-x86-8.patch index 2702f29..eeed695 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-3.10.32-x86-7.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-3.10.32-x86-8.patch @@ -277,7 +277,7 @@ index 615fa90..e0a62ab 100644 extern void default_send_IPI_mask_sequence_phys(const struct cpumask *mask, diff --git a/arch/x86/include/asm/ipipe.h b/arch/x86/include/asm/ipipe.h new file mode 100644 -index 000..6e490b5 +index 000..fb77224 --- /dev/null +++ b/arch/x86/include/asm/ipipe.h @@ -0,0 +1,104 @@ @@ -307,7 +307,7 @@ index 000..6e490b5 + +#ifdef CONFIG_IPIPE + -+#define IPIPE_CORE_RELEASE7 ++#define IPIPE_CORE_RELEASE8 + +struct ipipe_domain; + @@ -2059,7 +2059,7 @@ index deeb48d..4c1be96 100644 #else /* CONFIG_X86_64 */ diff --git a/arch/x86/kernel/cpu/mtrr/cyrix.c b/arch/x86/kernel/cpu/mtrr/cyrix.c -index 68a3343..057710f3 100644 +index 68a3343..057710f 100644 --- a/arch/x86/kernel/cpu/mtrr/cyrix.c +++ b/arch/x86/kernel/cpu/mtrr/cyrix.c @@ -18,7 +18,7 @@ cyrix_get_arr(unsigned int reg, unsigned long *base, @@ -10853,10 +10853,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 + * @@ -11224,6 +11224,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; @@ -14627,18 +14628,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/x86/patches/ipipe-core-3.14.44-x86-11.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.14.44-x86-12.patch similarity index 99% rename from kernel/cobalt/arch/x86/patches/ipipe-core-3.14.44-x86-11.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-3.14.44-x86-12.patch index d22dfed..3c6dfd0 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-3.14.44-x86-11.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-3.14.44-x86-12.patch @@ -442,7 +442,7 @@ index 615fa90..e0a62ab 100644 extern void default_send_IPI_mask_sequence_phys(const struct cpumask *mask, diff --git a/arch/x86/include/asm/ipipe.h b/arch/x86/include/asm/ipipe.h new file mode 100644 -index 000..4ad79ed +index 000..b741c33 --- /dev/null +++ b/arch/x86/include/asm/ipipe.h @@ -0,0 +1,96 @@ @@ -472,7 +472,7 @@ index 000..4ad79ed + +#ifdef CONFIG_IPIPE + -+#define IPIPE_CORE_RELEASE11 ++#define IPIPE_CORE_RELEASE12 + +struct ipipe_domain; + @@ -15267,18 +15267,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/x86/patches/ipipe-core-3.18.20-x86-5.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-6.patch similarity index 99% re
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: stable-3.0.x Commit: c2105542f39200b185fd89e994d46967bbf59f58 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c2105542f39200b185fd89e994d46967bbf59f58 Author: Philippe Gerum Date: Thu Mar 24 12:01:06 2016 +0100 cobalt/x86: upgrade I-pipe support --- 1.18-x86-2.patch => ipipe-core-4.1.18-x86-3.patch} | 16 ++-- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/kernel/cobalt/arch/x86/patches/ipipe-core-4.1.18-x86-2.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-4.1.18-x86-3.patch similarity index 99% rename from kernel/cobalt/arch/x86/patches/ipipe-core-4.1.18-x86-2.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-4.1.18-x86-3.patch index 5cc2396..5a8cf1e 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-4.1.18-x86-2.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-4.1.18-x86-3.patch @@ -434,7 +434,7 @@ index 615fa90..e0a62ab 100644 extern void default_send_IPI_mask_sequence_phys(const struct cpumask *mask, diff --git a/arch/x86/include/asm/ipipe.h b/arch/x86/include/asm/ipipe.h new file mode 100644 -index 000..f01ff21 +index 000..b5966a6 --- /dev/null +++ b/arch/x86/include/asm/ipipe.h @@ -0,0 +1,112 @@ @@ -464,7 +464,7 @@ index 000..f01ff21 + +#ifdef CONFIG_IPIPE + -+#define IPIPE_CORE_RELEASE2 ++#define IPIPE_CORE_RELEASE3 + +struct ipipe_domain; +struct pt_regs; @@ -15294,18 +15294,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/x86: upgrade I-pipe support
Module: xenomai-3 Branch: wip/prioceil Commit: d05500a29b6b8613ad54b95a1ed46138d70df369 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=d05500a29b6b8613ad54b95a1ed46138d70df369 Author: Philippe Gerum Date: Sun Mar 13 12:12:27 2016 +0100 cobalt/x86: upgrade I-pipe support --- ...-x86-6.patch => ipipe-core-3.10.32-x86-7.patch} | 135 --- ...x86-9.patch => ipipe-core-3.14.44-x86-11.patch} | 383 ...-x86-3.patch => ipipe-core-3.18.20-x86-5.patch} | 230 +++- ...8-x86-1.patch => ipipe-core-4.1.18-x86-2.patch} | 15 +- 4 files changed, 467 insertions(+), 296 deletions(-) diff --git a/kernel/cobalt/arch/x86/patches/ipipe-core-3.10.32-x86-6.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.10.32-x86-7.patch similarity index 99% rename from kernel/cobalt/arch/x86/patches/ipipe-core-3.10.32-x86-6.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-3.10.32-x86-7.patch index 04b1d47..2702f29 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-3.10.32-x86-6.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-3.10.32-x86-7.patch @@ -1,5 +1,5 @@ diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index fe120da..6882e5c 100644 +index fe120da..19c951e 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -9,6 +9,7 @@ config 64BIT @@ -10,17 +10,18 @@ index fe120da..6882e5c 100644 select CLKSRC_I8253 select HAVE_UID16 -@@ -20,6 +21,9 @@ config X86_64 +@@ -20,6 +21,10 @@ config X86_64 ### Arch settings config X86 def_bool y + select IPIPE_HAVE_HOSTRT if IPIPE + select IPIPE_HAVE_VM_NOTIFIER if IPIPE + select IPIPE_HAVE_SAFE_THREAD_INFO if X86_64 ++ select IPIPE_WANT_PTE_PINNING if IPIPE select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS select HAVE_AOUT if X86_32 select HAVE_UNSTABLE_SCHED_CLOCK -@@ -106,7 +110,7 @@ config X86 +@@ -106,7 +111,7 @@ config X86 select GENERIC_CLOCKEVENTS select ARCH_CLOCKSOURCE_DATA if X86_64 select GENERIC_CLOCKEVENTS_BROADCAST if X86_64 || (X86_32 && X86_LOCAL_APIC) @@ -29,7 +30,7 @@ index fe120da..6882e5c 100644 select KTIME_SCALAR if X86_32 select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNLEN_USER -@@ -605,6 +609,7 @@ if HYPERVISOR_GUEST +@@ -605,6 +610,7 @@ if HYPERVISOR_GUEST config PARAVIRT bool "Enable paravirtualization code" @@ -37,7 +38,7 @@ index fe120da..6882e5c 100644 ---help--- This changes the kernel so it can modify itself when it is run under a hypervisor, potentially improving performance significantly -@@ -837,6 +842,8 @@ config SCHED_MC +@@ -837,6 +843,8 @@ config SCHED_MC source "kernel/Kconfig.preempt" @@ -276,7 +277,7 @@ index 615fa90..e0a62ab 100644 extern void default_send_IPI_mask_sequence_phys(const struct cpumask *mask, diff --git a/arch/x86/include/asm/ipipe.h b/arch/x86/include/asm/ipipe.h new file mode 100644 -index 000..9e2c783 +index 000..6e490b5 --- /dev/null +++ b/arch/x86/include/asm/ipipe.h @@ -0,0 +1,104 @@ @@ -306,7 +307,7 @@ index 000..9e2c783 + +#ifdef CONFIG_IPIPE + -+#define IPIPE_CORE_RELEASE6 ++#define IPIPE_CORE_RELEASE7 + +struct ipipe_domain; + @@ -2058,7 +2059,7 @@ index deeb48d..4c1be96 100644 #else /* CONFIG_X86_64 */ diff --git a/arch/x86/kernel/cpu/mtrr/cyrix.c b/arch/x86/kernel/cpu/mtrr/cyrix.c -index 68a3343..057710f 100644 +index 68a3343..057710f3 100644 --- a/arch/x86/kernel/cpu/mtrr/cyrix.c +++ b/arch/x86/kernel/cpu/mtrr/cyrix.c @@ -18,7 +18,7 @@ cyrix_get_arr(unsigned int reg, unsigned long *base, @@ -4710,7 +4711,7 @@ index 4f74d94..022d754 100644 do { diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c -index c1e9e4c..0d05419 100644 +index c1e9e4c..ee21fbd 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c @@ -355,9 +355,9 @@ void vmalloc_sync_all(void) @@ -4764,7 +4765,7 @@ index c1e9e4c..0d05419 100644 } + +#ifdef CONFIG_IPIPE -+void __ipipe_pin_range_globally(unsigned long start, unsigned long end) ++void __ipipe_pin_mapping_globally(unsigned long start, unsigned long end) +{ +#ifdef CONFIG_X86_32 + unsigned long next, addr = start; @@ -5554,10 +,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 + * @@ -5964,6 +5965,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 */ @@ -6003,10 +6010,10 @@ index 000..525f3cf +#endif/* !__LINUX_IPIPE_H */ diff --git
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: stable-3.0.x Commit: d05500a29b6b8613ad54b95a1ed46138d70df369 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=d05500a29b6b8613ad54b95a1ed46138d70df369 Author: Philippe Gerum Date: Sun Mar 13 12:12:27 2016 +0100 cobalt/x86: upgrade I-pipe support --- ...-x86-6.patch => ipipe-core-3.10.32-x86-7.patch} | 135 --- ...x86-9.patch => ipipe-core-3.14.44-x86-11.patch} | 383 ...-x86-3.patch => ipipe-core-3.18.20-x86-5.patch} | 230 +++- ...8-x86-1.patch => ipipe-core-4.1.18-x86-2.patch} | 15 +- 4 files changed, 467 insertions(+), 296 deletions(-) diff --git a/kernel/cobalt/arch/x86/patches/ipipe-core-3.10.32-x86-6.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.10.32-x86-7.patch similarity index 99% rename from kernel/cobalt/arch/x86/patches/ipipe-core-3.10.32-x86-6.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-3.10.32-x86-7.patch index 04b1d47..2702f29 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-3.10.32-x86-6.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-3.10.32-x86-7.patch @@ -1,5 +1,5 @@ diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index fe120da..6882e5c 100644 +index fe120da..19c951e 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -9,6 +9,7 @@ config 64BIT @@ -10,17 +10,18 @@ index fe120da..6882e5c 100644 select CLKSRC_I8253 select HAVE_UID16 -@@ -20,6 +21,9 @@ config X86_64 +@@ -20,6 +21,10 @@ config X86_64 ### Arch settings config X86 def_bool y + select IPIPE_HAVE_HOSTRT if IPIPE + select IPIPE_HAVE_VM_NOTIFIER if IPIPE + select IPIPE_HAVE_SAFE_THREAD_INFO if X86_64 ++ select IPIPE_WANT_PTE_PINNING if IPIPE select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS select HAVE_AOUT if X86_32 select HAVE_UNSTABLE_SCHED_CLOCK -@@ -106,7 +110,7 @@ config X86 +@@ -106,7 +111,7 @@ config X86 select GENERIC_CLOCKEVENTS select ARCH_CLOCKSOURCE_DATA if X86_64 select GENERIC_CLOCKEVENTS_BROADCAST if X86_64 || (X86_32 && X86_LOCAL_APIC) @@ -29,7 +30,7 @@ index fe120da..6882e5c 100644 select KTIME_SCALAR if X86_32 select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNLEN_USER -@@ -605,6 +609,7 @@ if HYPERVISOR_GUEST +@@ -605,6 +610,7 @@ if HYPERVISOR_GUEST config PARAVIRT bool "Enable paravirtualization code" @@ -37,7 +38,7 @@ index fe120da..6882e5c 100644 ---help--- This changes the kernel so it can modify itself when it is run under a hypervisor, potentially improving performance significantly -@@ -837,6 +842,8 @@ config SCHED_MC +@@ -837,6 +843,8 @@ config SCHED_MC source "kernel/Kconfig.preempt" @@ -276,7 +277,7 @@ index 615fa90..e0a62ab 100644 extern void default_send_IPI_mask_sequence_phys(const struct cpumask *mask, diff --git a/arch/x86/include/asm/ipipe.h b/arch/x86/include/asm/ipipe.h new file mode 100644 -index 000..9e2c783 +index 000..6e490b5 --- /dev/null +++ b/arch/x86/include/asm/ipipe.h @@ -0,0 +1,104 @@ @@ -306,7 +307,7 @@ index 000..9e2c783 + +#ifdef CONFIG_IPIPE + -+#define IPIPE_CORE_RELEASE6 ++#define IPIPE_CORE_RELEASE7 + +struct ipipe_domain; + @@ -2058,7 +2059,7 @@ index deeb48d..4c1be96 100644 #else /* CONFIG_X86_64 */ diff --git a/arch/x86/kernel/cpu/mtrr/cyrix.c b/arch/x86/kernel/cpu/mtrr/cyrix.c -index 68a3343..057710f 100644 +index 68a3343..057710f3 100644 --- a/arch/x86/kernel/cpu/mtrr/cyrix.c +++ b/arch/x86/kernel/cpu/mtrr/cyrix.c @@ -18,7 +18,7 @@ cyrix_get_arr(unsigned int reg, unsigned long *base, @@ -4710,7 +4711,7 @@ index 4f74d94..022d754 100644 do { diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c -index c1e9e4c..0d05419 100644 +index c1e9e4c..ee21fbd 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c @@ -355,9 +355,9 @@ void vmalloc_sync_all(void) @@ -4764,7 +4765,7 @@ index c1e9e4c..0d05419 100644 } + +#ifdef CONFIG_IPIPE -+void __ipipe_pin_range_globally(unsigned long start, unsigned long end) ++void __ipipe_pin_mapping_globally(unsigned long start, unsigned long end) +{ +#ifdef CONFIG_X86_32 + unsigned long next, addr = start; @@ -5554,10 +,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 + * @@ -5964,6 +5965,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 */ @@ -6003,10 +6010,10 @@ index 000..525f3cf +#endif/* !__LINUX_IPIPE_H */ diff --git
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: wip/dovetail Commit: 4c7e2ff49a4e52ad4a23c0be0b5faf665024957d URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=4c7e2ff49a4e52ad4a23c0be0b5faf665024957d Author: Philippe Gerum Date: Mon Feb 29 10:10:50 2016 +0100 cobalt/x86: upgrade I-pipe support --- .../arch/x86/patches/ipipe-core-4.1.18-x86-1.patch |15641 1 file changed, 15641 insertions(+) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=4c7e2ff49a4e52ad4a23c0be0b5faf665024957d ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: wip/prioceil Commit: 42f136842b2be5aadced6739c6516af6f006d074 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=42f136842b2be5aadced6739c6516af6f006d074 Author: Philippe Gerum Date: Mon Feb 29 10:10:50 2016 +0100 cobalt/x86: upgrade I-pipe support --- .../arch/x86/patches/ipipe-core-4.1.18-x86-1.patch |15641 1 file changed, 15641 insertions(+) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=42f136842b2be5aadced6739c6516af6f006d074 ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: next Commit: 4c7e2ff49a4e52ad4a23c0be0b5faf665024957d URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=4c7e2ff49a4e52ad4a23c0be0b5faf665024957d Author: Philippe Gerum Date: Mon Feb 29 10:10:50 2016 +0100 cobalt/x86: upgrade I-pipe support --- .../arch/x86/patches/ipipe-core-4.1.18-x86-1.patch |15641 1 file changed, 15641 insertions(+) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=4c7e2ff49a4e52ad4a23c0be0b5faf665024957d ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: stable-3.0.x Commit: 42f136842b2be5aadced6739c6516af6f006d074 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=42f136842b2be5aadced6739c6516af6f006d074 Author: Philippe Gerum Date: Mon Feb 29 10:10:50 2016 +0100 cobalt/x86: upgrade I-pipe support --- .../arch/x86/patches/ipipe-core-4.1.18-x86-1.patch |15641 1 file changed, 15641 insertions(+) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=42f136842b2be5aadced6739c6516af6f006d074 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: arm64 Commit: afbe6d48c2a43daddabf5e20cb9c0f631e925098 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=afbe6d48c2a43daddabf5e20cb9c0f631e925098 Author: Philippe Gerum Date: Tue Oct 6 15:38:37 2015 +0200 cobalt/x86: upgrade I-pipe support --- .../arch/x86/patches/ipipe-core-3.16.7-x86-5.patch |15377 ...-x86-2.patch => ipipe-core-3.18.20-x86-3.patch} | 89 +- 2 files changed, 56 insertions(+), 15410 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=afbe6d48c2a43daddabf5e20cb9c0f631e925098 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: master Commit: afbe6d48c2a43daddabf5e20cb9c0f631e925098 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=afbe6d48c2a43daddabf5e20cb9c0f631e925098 Author: Philippe Gerum Date: Tue Oct 6 15:38:37 2015 +0200 cobalt/x86: upgrade I-pipe support --- .../arch/x86/patches/ipipe-core-3.16.7-x86-5.patch |15377 ...-x86-2.patch => ipipe-core-3.18.20-x86-3.patch} | 89 +- 2 files changed, 56 insertions(+), 15410 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=afbe6d48c2a43daddabf5e20cb9c0f631e925098 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: master Commit: c6eeea0d6be757f09e14671e515d62314ba2b39c URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c6eeea0d6be757f09e14671e515d62314ba2b39c Author: Philippe Gerum Date: Tue Sep 15 11:23:39 2015 +0200 cobalt/x86: upgrade I-pipe support --- ...-x86-1.patch => ipipe-core-3.18.20-x86-2.patch} | 2320 +++- 1 file changed, 292 insertions(+), 2028 deletions(-) diff --git a/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.12-x86-1.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-2.patch similarity index 88% rename from kernel/cobalt/arch/x86/patches/ipipe-core-3.18.12-x86-1.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-2.patch index a309054..597cf51 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.12-x86-1.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-2.patch @@ -1,5 +1,5 @@ diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 3635fff..0f362ca 100644 +index c9148e2..8460d93 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -9,6 +9,7 @@ config 64BIT @@ -10,17 +10,18 @@ index 3635fff..0f362ca 100644 select CLKSRC_I8253 select HAVE_UID16 -@@ -21,6 +22,9 @@ config X86_64 +@@ -21,6 +22,10 @@ config X86_64 ### Arch settings config X86 def_bool y + select IPIPE_HAVE_HOSTRT if IPIPE + select IPIPE_HAVE_VM_NOTIFIER if IPIPE + select IPIPE_HAVE_SAFE_THREAD_INFO if X86_64 ++ select IPIPE_WANT_PTE_PINNING if IPIPE select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS select ARCH_HAS_FAST_MULTIPLIER -@@ -115,7 +119,7 @@ config X86 +@@ -115,7 +120,7 @@ config X86 select GENERIC_TIME_VSYSCALL select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNLEN_USER @@ -29,7 +30,7 @@ index 3635fff..0f362ca 100644 select HAVE_IRQ_TIME_ACCOUNTING select VIRT_TO_BUS select MODULES_USE_ELF_REL if X86_32 -@@ -612,6 +616,7 @@ if HYPERVISOR_GUEST +@@ -612,6 +617,7 @@ if HYPERVISOR_GUEST config PARAVIRT bool "Enable paravirtualization code" @@ -37,7 +38,7 @@ index 3635fff..0f362ca 100644 ---help--- This changes the kernel so it can modify itself when it is run under a hypervisor, potentially improving performance significantly -@@ -854,6 +859,8 @@ config SCHED_MC +@@ -854,6 +860,8 @@ config SCHED_MC source "kernel/Kconfig.preempt" @@ -437,7 +438,7 @@ index 615fa90..e0a62ab 100644 extern void default_send_IPI_mask_sequence_phys(const struct cpumask *mask, diff --git a/arch/x86/include/asm/ipipe.h b/arch/x86/include/asm/ipipe.h new file mode 100644 -index 000..c875c46 +index 000..7145c10 --- /dev/null +++ b/arch/x86/include/asm/ipipe.h @@ -0,0 +1,118 @@ @@ -467,7 +468,7 @@ index 000..c875c46 + +#ifdef CONFIG_IPIPE + -+#define IPIPE_CORE_RELEASE1 ++#define IPIPE_CORE_RELEASE2 + +struct ipipe_domain; +struct pt_regs; @@ -762,7 +763,7 @@ index 000..d000d7e +#endif/* !__X86_IPIPE_64_H */ diff --git a/arch/x86/include/asm/ipipe_base.h b/arch/x86/include/asm/ipipe_base.h new file mode 100644 -index 000..f940d4b +index 000..a0a7391 --- /dev/null +++ b/arch/x86/include/asm/ipipe_base.h @@ -0,0 +1,206 @@ @@ -849,7 +850,7 @@ index 000..f940d4b +#endif +} + -+void __ipipe_halt_root(void); ++void __ipipe_halt_root(int use_mwait); + +void ipipe_hrtimer_interrupt(void); + @@ -1002,7 +1003,7 @@ index 5702d7e..dd61aa6 100644 #define FPU_IRQ 13 diff --git a/arch/x86/include/asm/irqflags.h b/arch/x86/include/asm/irqflags.h -index 0a8b519..0d052b7 100644 +index 0a8b519..c52d5e0 100644 --- a/arch/x86/include/asm/irqflags.h +++ b/arch/x86/include/asm/irqflags.h @@ -4,6 +4,11 @@ @@ -1083,7 +1084,7 @@ index 0a8b519..0d052b7 100644 { +#ifdef CONFIG_IPIPE + barrier(); -+ __ipipe_halt_root(); ++ __ipipe_halt_root(0); +#else native_safe_halt(); +#endif @@ -1331,7 +1332,7 @@ index 4008734..33fc4b9 100644 } diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h -index eb71ec7..2e63f86 100644 +index ddd8d13..d40d320 100644 --- a/arch/x86/include/asm/processor.h +++ b/arch/x86/include/asm/processor.h @@ -478,6 +478,7 @@ struct thread_struct { @@ -1343,7 +1344,7 @@ index eb71ec7..2e63f86 100644 #ifdef CONFIG_X86_32 unsigned long ip; diff --git a/arch/x86/include/asm/special_insns.h b/arch/x86/include/asm/special_insns.h -index e820c08..a213f2b 100644 +index 6a4b00f..449a847 100644 --- a/arch/x86/include/asm/special_insns.h +++ b/arch/x86/include/asm/special_insns.h @@ -4,6 +4,10 @@ @@ -2311,10 +2312,10 @@ index 9f6b934..ef8626a 100644 BLANK(); OFFSET(crypto_tfm_ctx_offset, crypto_tfm, __crt_ctx); diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c -index cfa9b5b..ba1d33b 100644 +index 7bc49c3..5c01e59
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: next Commit: afbe6d48c2a43daddabf5e20cb9c0f631e925098 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=afbe6d48c2a43daddabf5e20cb9c0f631e925098 Author: Philippe Gerum Date: Tue Oct 6 15:38:37 2015 +0200 cobalt/x86: upgrade I-pipe support --- .../arch/x86/patches/ipipe-core-3.16.7-x86-5.patch |15377 ...-x86-2.patch => ipipe-core-3.18.20-x86-3.patch} | 89 +- 2 files changed, 56 insertions(+), 15410 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=afbe6d48c2a43daddabf5e20cb9c0f631e925098 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: arm64 Commit: c6eeea0d6be757f09e14671e515d62314ba2b39c URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c6eeea0d6be757f09e14671e515d62314ba2b39c Author: Philippe Gerum Date: Tue Sep 15 11:23:39 2015 +0200 cobalt/x86: upgrade I-pipe support --- ...-x86-1.patch => ipipe-core-3.18.20-x86-2.patch} | 2320 +++- 1 file changed, 292 insertions(+), 2028 deletions(-) diff --git a/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.12-x86-1.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-2.patch similarity index 88% rename from kernel/cobalt/arch/x86/patches/ipipe-core-3.18.12-x86-1.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-2.patch index a309054..597cf51 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.12-x86-1.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-2.patch @@ -1,5 +1,5 @@ diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 3635fff..0f362ca 100644 +index c9148e2..8460d93 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -9,6 +9,7 @@ config 64BIT @@ -10,17 +10,18 @@ index 3635fff..0f362ca 100644 select CLKSRC_I8253 select HAVE_UID16 -@@ -21,6 +22,9 @@ config X86_64 +@@ -21,6 +22,10 @@ config X86_64 ### Arch settings config X86 def_bool y + select IPIPE_HAVE_HOSTRT if IPIPE + select IPIPE_HAVE_VM_NOTIFIER if IPIPE + select IPIPE_HAVE_SAFE_THREAD_INFO if X86_64 ++ select IPIPE_WANT_PTE_PINNING if IPIPE select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS select ARCH_HAS_FAST_MULTIPLIER -@@ -115,7 +119,7 @@ config X86 +@@ -115,7 +120,7 @@ config X86 select GENERIC_TIME_VSYSCALL select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNLEN_USER @@ -29,7 +30,7 @@ index 3635fff..0f362ca 100644 select HAVE_IRQ_TIME_ACCOUNTING select VIRT_TO_BUS select MODULES_USE_ELF_REL if X86_32 -@@ -612,6 +616,7 @@ if HYPERVISOR_GUEST +@@ -612,6 +617,7 @@ if HYPERVISOR_GUEST config PARAVIRT bool "Enable paravirtualization code" @@ -37,7 +38,7 @@ index 3635fff..0f362ca 100644 ---help--- This changes the kernel so it can modify itself when it is run under a hypervisor, potentially improving performance significantly -@@ -854,6 +859,8 @@ config SCHED_MC +@@ -854,6 +860,8 @@ config SCHED_MC source "kernel/Kconfig.preempt" @@ -437,7 +438,7 @@ index 615fa90..e0a62ab 100644 extern void default_send_IPI_mask_sequence_phys(const struct cpumask *mask, diff --git a/arch/x86/include/asm/ipipe.h b/arch/x86/include/asm/ipipe.h new file mode 100644 -index 000..c875c46 +index 000..7145c10 --- /dev/null +++ b/arch/x86/include/asm/ipipe.h @@ -0,0 +1,118 @@ @@ -467,7 +468,7 @@ index 000..c875c46 + +#ifdef CONFIG_IPIPE + -+#define IPIPE_CORE_RELEASE1 ++#define IPIPE_CORE_RELEASE2 + +struct ipipe_domain; +struct pt_regs; @@ -762,7 +763,7 @@ index 000..d000d7e +#endif/* !__X86_IPIPE_64_H */ diff --git a/arch/x86/include/asm/ipipe_base.h b/arch/x86/include/asm/ipipe_base.h new file mode 100644 -index 000..f940d4b +index 000..a0a7391 --- /dev/null +++ b/arch/x86/include/asm/ipipe_base.h @@ -0,0 +1,206 @@ @@ -849,7 +850,7 @@ index 000..f940d4b +#endif +} + -+void __ipipe_halt_root(void); ++void __ipipe_halt_root(int use_mwait); + +void ipipe_hrtimer_interrupt(void); + @@ -1002,7 +1003,7 @@ index 5702d7e..dd61aa6 100644 #define FPU_IRQ 13 diff --git a/arch/x86/include/asm/irqflags.h b/arch/x86/include/asm/irqflags.h -index 0a8b519..0d052b7 100644 +index 0a8b519..c52d5e0 100644 --- a/arch/x86/include/asm/irqflags.h +++ b/arch/x86/include/asm/irqflags.h @@ -4,6 +4,11 @@ @@ -1083,7 +1084,7 @@ index 0a8b519..0d052b7 100644 { +#ifdef CONFIG_IPIPE + barrier(); -+ __ipipe_halt_root(); ++ __ipipe_halt_root(0); +#else native_safe_halt(); +#endif @@ -1331,7 +1332,7 @@ index 4008734..33fc4b9 100644 } diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h -index eb71ec7..2e63f86 100644 +index ddd8d13..d40d320 100644 --- a/arch/x86/include/asm/processor.h +++ b/arch/x86/include/asm/processor.h @@ -478,6 +478,7 @@ struct thread_struct { @@ -1343,7 +1344,7 @@ index eb71ec7..2e63f86 100644 #ifdef CONFIG_X86_32 unsigned long ip; diff --git a/arch/x86/include/asm/special_insns.h b/arch/x86/include/asm/special_insns.h -index e820c08..a213f2b 100644 +index 6a4b00f..449a847 100644 --- a/arch/x86/include/asm/special_insns.h +++ b/arch/x86/include/asm/special_insns.h @@ -4,6 +4,10 @@ @@ -2311,10 +2312,10 @@ index 9f6b934..ef8626a 100644 BLANK(); OFFSET(crypto_tfm_ctx_offset, crypto_tfm, __crt_ctx); diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c -index cfa9b5b..ba1d33b 100644 +index 7bc49c3..5c01e59
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: next Commit: c6eeea0d6be757f09e14671e515d62314ba2b39c URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c6eeea0d6be757f09e14671e515d62314ba2b39c Author: Philippe Gerum Date: Tue Sep 15 11:23:39 2015 +0200 cobalt/x86: upgrade I-pipe support --- ...-x86-1.patch => ipipe-core-3.18.20-x86-2.patch} | 2320 +++- 1 file changed, 292 insertions(+), 2028 deletions(-) diff --git a/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.12-x86-1.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-2.patch similarity index 88% rename from kernel/cobalt/arch/x86/patches/ipipe-core-3.18.12-x86-1.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-2.patch index a309054..597cf51 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.12-x86-1.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-3.18.20-x86-2.patch @@ -1,5 +1,5 @@ diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 3635fff..0f362ca 100644 +index c9148e2..8460d93 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -9,6 +9,7 @@ config 64BIT @@ -10,17 +10,18 @@ index 3635fff..0f362ca 100644 select CLKSRC_I8253 select HAVE_UID16 -@@ -21,6 +22,9 @@ config X86_64 +@@ -21,6 +22,10 @@ config X86_64 ### Arch settings config X86 def_bool y + select IPIPE_HAVE_HOSTRT if IPIPE + select IPIPE_HAVE_VM_NOTIFIER if IPIPE + select IPIPE_HAVE_SAFE_THREAD_INFO if X86_64 ++ select IPIPE_WANT_PTE_PINNING if IPIPE select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS select ARCH_HAS_FAST_MULTIPLIER -@@ -115,7 +119,7 @@ config X86 +@@ -115,7 +120,7 @@ config X86 select GENERIC_TIME_VSYSCALL select GENERIC_STRNCPY_FROM_USER select GENERIC_STRNLEN_USER @@ -29,7 +30,7 @@ index 3635fff..0f362ca 100644 select HAVE_IRQ_TIME_ACCOUNTING select VIRT_TO_BUS select MODULES_USE_ELF_REL if X86_32 -@@ -612,6 +616,7 @@ if HYPERVISOR_GUEST +@@ -612,6 +617,7 @@ if HYPERVISOR_GUEST config PARAVIRT bool "Enable paravirtualization code" @@ -37,7 +38,7 @@ index 3635fff..0f362ca 100644 ---help--- This changes the kernel so it can modify itself when it is run under a hypervisor, potentially improving performance significantly -@@ -854,6 +859,8 @@ config SCHED_MC +@@ -854,6 +860,8 @@ config SCHED_MC source "kernel/Kconfig.preempt" @@ -437,7 +438,7 @@ index 615fa90..e0a62ab 100644 extern void default_send_IPI_mask_sequence_phys(const struct cpumask *mask, diff --git a/arch/x86/include/asm/ipipe.h b/arch/x86/include/asm/ipipe.h new file mode 100644 -index 000..c875c46 +index 000..7145c10 --- /dev/null +++ b/arch/x86/include/asm/ipipe.h @@ -0,0 +1,118 @@ @@ -467,7 +468,7 @@ index 000..c875c46 + +#ifdef CONFIG_IPIPE + -+#define IPIPE_CORE_RELEASE1 ++#define IPIPE_CORE_RELEASE2 + +struct ipipe_domain; +struct pt_regs; @@ -762,7 +763,7 @@ index 000..d000d7e +#endif/* !__X86_IPIPE_64_H */ diff --git a/arch/x86/include/asm/ipipe_base.h b/arch/x86/include/asm/ipipe_base.h new file mode 100644 -index 000..f940d4b +index 000..a0a7391 --- /dev/null +++ b/arch/x86/include/asm/ipipe_base.h @@ -0,0 +1,206 @@ @@ -849,7 +850,7 @@ index 000..f940d4b +#endif +} + -+void __ipipe_halt_root(void); ++void __ipipe_halt_root(int use_mwait); + +void ipipe_hrtimer_interrupt(void); + @@ -1002,7 +1003,7 @@ index 5702d7e..dd61aa6 100644 #define FPU_IRQ 13 diff --git a/arch/x86/include/asm/irqflags.h b/arch/x86/include/asm/irqflags.h -index 0a8b519..0d052b7 100644 +index 0a8b519..c52d5e0 100644 --- a/arch/x86/include/asm/irqflags.h +++ b/arch/x86/include/asm/irqflags.h @@ -4,6 +4,11 @@ @@ -1083,7 +1084,7 @@ index 0a8b519..0d052b7 100644 { +#ifdef CONFIG_IPIPE + barrier(); -+ __ipipe_halt_root(); ++ __ipipe_halt_root(0); +#else native_safe_halt(); +#endif @@ -1331,7 +1332,7 @@ index 4008734..33fc4b9 100644 } diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h -index eb71ec7..2e63f86 100644 +index ddd8d13..d40d320 100644 --- a/arch/x86/include/asm/processor.h +++ b/arch/x86/include/asm/processor.h @@ -478,6 +478,7 @@ struct thread_struct { @@ -1343,7 +1344,7 @@ index eb71ec7..2e63f86 100644 #ifdef CONFIG_X86_32 unsigned long ip; diff --git a/arch/x86/include/asm/special_insns.h b/arch/x86/include/asm/special_insns.h -index e820c08..a213f2b 100644 +index 6a4b00f..449a847 100644 --- a/arch/x86/include/asm/special_insns.h +++ b/arch/x86/include/asm/special_insns.h @@ -4,6 +4,10 @@ @@ -2311,10 +2312,10 @@ index 9f6b934..ef8626a 100644 BLANK(); OFFSET(crypto_tfm_ctx_offset, crypto_tfm, __crt_ctx); diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c -index cfa9b5b..ba1d33b 100644 +index 7bc49c3..5c01e59 1
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: master Commit: 33495190efc40ba470978806104861961c7eb123 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=33495190efc40ba470978806104861961c7eb123 Author: Philippe Gerum Date: Wed Jun 17 17:22:48 2015 +0200 cobalt/x86: upgrade I-pipe support --- ...-x86-5.patch => ipipe-core-3.10.32-x86-6.patch} | 12 +- ...-x86-8.patch => ipipe-core-3.14.39-x86-9.patch} | 219 +- ...7-x86-3.patch => ipipe-core-3.16.7-x86-5.patch} | 74 +- .../x86/patches/ipipe-core-3.18.12-x86-1.patch |17122 4 files changed, 17274 insertions(+), 153 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=33495190efc40ba470978806104861961c7eb123 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: next Commit: 33495190efc40ba470978806104861961c7eb123 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=33495190efc40ba470978806104861961c7eb123 Author: Philippe Gerum Date: Wed Jun 17 17:22:48 2015 +0200 cobalt/x86: upgrade I-pipe support --- ...-x86-5.patch => ipipe-core-3.10.32-x86-6.patch} | 12 +- ...-x86-8.patch => ipipe-core-3.14.39-x86-9.patch} | 219 +- ...7-x86-3.patch => ipipe-core-3.16.7-x86-5.patch} | 74 +- .../x86/patches/ipipe-core-3.18.12-x86-1.patch |17122 4 files changed, 17274 insertions(+), 153 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=33495190efc40ba470978806104861961c7eb123 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: next Commit: 9b1ee330b07650b909e525e691a9f1c01124d8c1 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=9b1ee330b07650b909e525e691a9f1c01124d8c1 Author: Philippe Gerum Date: Wed Jun 17 17:22:48 2015 +0200 cobalt/x86: upgrade I-pipe support --- ...-x86-5.patch => ipipe-core-3.10.32-x86-6.patch} | 12 +- ...-x86-8.patch => ipipe-core-3.14.39-x86-9.patch} | 219 +- ...7-x86-3.patch => ipipe-core-3.16.7-x86-5.patch} | 74 +- .../x86/patches/ipipe-core-3.18.12-x86-1.patch |17122 4 files changed, 17274 insertions(+), 153 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=9b1ee330b07650b909e525e691a9f1c01124d8c1 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: master Commit: b2ffcb119159299b95a9110095e2b9b98bdab042 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b2ffcb119159299b95a9110095e2b9b98bdab042 Author: Philippe Gerum Date: Wed Mar 4 09:15:54 2015 +0100 cobalt/x86: upgrade I-pipe support --- ...-x86-7.patch => ipipe-core-3.14.33-x86-8.patch} | 167 +++- 1 file changed, 91 insertions(+), 76 deletions(-) diff --git a/kernel/cobalt/arch/x86/patches/ipipe-core-3.14.28-x86-7.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.14.33-x86-8.patch similarity index 99% rename from kernel/cobalt/arch/x86/patches/ipipe-core-3.14.28-x86-7.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-3.14.33-x86-8.patch index 0086f76..97a412f 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-3.14.28-x86-7.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-3.14.33-x86-8.patch @@ -1,5 +1,5 @@ diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 98aa930..91e382d 100644 +index 2f645c9..908b4f5 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -9,6 +9,7 @@ config 64BIT @@ -50,7 +50,7 @@ index 98aa930..91e382d 100644 + config X86_UP_APIC bool "Local APIC support on uniprocessors" - depends on X86_32 && !SMP && !X86_32_NON_STANDARD && !PCI_MSI + depends on X86_32 && !SMP && !X86_32_NON_STANDARD diff --git a/arch/x86/ia32/ia32entry.S b/arch/x86/ia32/ia32entry.S index 92a2e93..56aa429 100644 --- a/arch/x86/ia32/ia32entry.S @@ -202,7 +202,7 @@ index 4b528a9..0cf06c6 100644 static inline void debug_stack_usage_inc(void) { diff --git a/arch/x86/include/asm/desc.h b/arch/x86/include/asm/desc.h -index 50d033a..f87cb28 100644 +index a94b82e..e185603 100644 --- a/arch/x86/include/asm/desc.h +++ b/arch/x86/include/asm/desc.h @@ -4,6 +4,7 @@ @@ -213,7 +213,7 @@ index 50d033a..f87cb28 100644 #include #include -@@ -368,11 +369,16 @@ static inline void _set_gate(int gate, unsigned type, void *addr, +@@ -376,11 +377,16 @@ static inline void _set_gate(int gate, unsigned type, void *addr, * Pentium F0 0F bugfix can have resulted in the mapped * IDT being write-protected. */ @@ -231,7 +231,7 @@ index 50d033a..f87cb28 100644 _trace_set_gate(n, GATE_INTERRUPT, (void *)trace_##addr,\ 0, 0, __KERNEL_CS); \ } while (0) -@@ -384,6 +390,13 @@ extern unsigned long used_vectors[]; +@@ -392,6 +398,13 @@ extern unsigned long used_vectors[]; static inline void alloc_system_vector(int vector) { if (!test_bit(vector, used_vectors)) { @@ -245,7 +245,7 @@ index 50d033a..f87cb28 100644 set_bit(vector, used_vectors); if (first_system_vector > vector) first_system_vector = vector; -@@ -392,6 +405,12 @@ static inline void alloc_system_vector(int vector) +@@ -400,6 +413,12 @@ static inline void alloc_system_vector(int vector) } } @@ -258,7 +258,7 @@ index 50d033a..f87cb28 100644 #define alloc_intr_gate(n, addr) \ do {\ alloc_system_vector(n); \ -@@ -437,7 +456,7 @@ static inline void set_system_intr_gate_ist(int n, void *addr, unsigned ist) +@@ -445,7 +464,7 @@ static inline void set_system_intr_gate_ist(int n, void *addr, unsigned ist) _set_gate(n, GATE_INTERRUPT, addr, 0x3, ist, __KERNEL_CS); } @@ -442,7 +442,7 @@ index 615fa90..e0a62ab 100644 extern void default_send_IPI_mask_sequence_phys(const struct cpumask *mask, diff --git a/arch/x86/include/asm/ipipe.h b/arch/x86/include/asm/ipipe.h new file mode 100644 -index 000..f6df562 +index 000..a244663 --- /dev/null +++ b/arch/x86/include/asm/ipipe.h @@ -0,0 +1,96 @@ @@ -472,7 +472,7 @@ index 000..f6df562 + +#ifdef CONFIG_IPIPE + -+#define IPIPE_CORE_RELEASE7 ++#define IPIPE_CORE_RELEASE8 + +struct ipipe_domain; + @@ -1664,7 +1664,7 @@ index 2c621a6..18b3219 100644 static void flat_send_IPI_mask(const struct cpumask *cpumask, int vector) diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c -index 6ad4658..c97b856 100644 +index 6ad4658..9233e45 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c @@ -71,8 +71,8 @@ @@ -1809,7 +1809,7 @@ index 6ad4658..c97b856 100644 ioapic_write_entry(attr->ioapic, attr->ioapic_pin, entry); } -@@ -2139,7 +2180,7 @@ static unsigned int startup_ioapic_irq(struct irq_data *data) +@@ -2139,11 +2180,12 @@ static unsigned int startup_ioapic_irq(struct irq_data *data) raw_spin_lock_irqsave(&ioapic_lock, flags); if (irq < legacy_pic->nr_legacy_irqs) { @@ -1818,7 +1818,12 @@ index 6ad4658..c97b856 100644 if (legacy_pic->irq_pending(irq)) was_pending = 1; } -@@ -2198,7 +2239,8 @@ asmlinkage void smp_irq_move_cleanup_interrupt(void) +
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: master Commit: 01f7ffb89837099be2e41a29865b57123642e92e URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=01f7ffb89837099be2e41a29865b57123642e92e Author: Philippe Gerum Date: Fri Mar 20 09:27:24 2015 +0100 cobalt/x86: upgrade I-pipe support --- ...6-x86-3.patch => ipipe-core-3.16.7-x86-3.patch} | 74 ++-- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-3.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.16.7-x86-3.patch similarity index 99% rename from kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-3.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-3.16.7-x86-3.patch index 0fcf3fd..7fcbfba 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-3.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-3.16.7-x86-3.patch @@ -1,5 +1,5 @@ diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index d24887b..ac506bb 100644 +index 27adfd9..40a67c4 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -9,6 +9,7 @@ config 64BIT @@ -4220,7 +4220,7 @@ index be8e1bd..0249ce4 100644 /* diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c -index 5492798..7a685e0 100644 +index 215815b..b0cfd08 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -890,7 +890,7 @@ static int do_boot_cpu(int apicid, int cpu, struct task_struct *idle) @@ -4581,7 +4581,7 @@ index e8edcf5..0a93042 100644 tsk->thread.screen_bitmap = info->screen_bitmap; if (info->flags & VM86_SCREEN_BITMAP) diff --git a/arch/x86/kernel/vsyscall_64.c b/arch/x86/kernel/vsyscall_64.c -index ea5b570..e1f1fe2 100644 +index e1e1e80..a70b1a7 100644 --- a/arch/x86/kernel/vsyscall_64.c +++ b/arch/x86/kernel/vsyscall_64.c @@ -32,6 +32,7 @@ @@ -4658,10 +4658,10 @@ index b5e994a..743ceae 100644 } diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c -index 801332e..8f9018f 100644 +index 6c437ed..767d308 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c -@@ -1781,9 +1781,11 @@ static void __vmx_load_host_state(struct vcpu_vmx *vmx) +@@ -1782,9 +1782,11 @@ static void __vmx_load_host_state(struct vcpu_vmx *vmx) static void vmx_load_host_state(struct vcpu_vmx *vmx) { @@ -4675,7 +4675,7 @@ index 801332e..8f9018f 100644 } /* -@@ -2083,6 +2085,7 @@ static void setup_msrs(struct vcpu_vmx *vmx) +@@ -2084,6 +2086,7 @@ static void setup_msrs(struct vcpu_vmx *vmx) { int save_nmsrs, index; @@ -4683,7 +4683,7 @@ index 801332e..8f9018f 100644 save_nmsrs = 0; #ifdef CONFIG_X86_64 if (is_long_mode(&vmx->vcpu)) { -@@ -2112,6 +2115,7 @@ static void setup_msrs(struct vcpu_vmx *vmx) +@@ -2113,6 +2116,7 @@ static void setup_msrs(struct vcpu_vmx *vmx) move_msr_up(vmx, index, save_nmsrs++); vmx->save_nmsrs = save_nmsrs; @@ -4691,7 +4691,7 @@ index 801332e..8f9018f 100644 if (cpu_has_vmx_msr_bitmap()) vmx_set_msr_bitmap(&vmx->vcpu); -@@ -7192,8 +7196,10 @@ static void vmx_handle_external_intr(struct kvm_vcpu *vcpu) +@@ -7198,8 +7202,10 @@ static void vmx_handle_external_intr(struct kvm_vcpu *vcpu) [ss]"i"(__KERNEL_DS), [cs]"i"(__KERNEL_CS) ); @@ -4703,7 +4703,7 @@ index 801332e..8f9018f 100644 } static bool vmx_mpx_supported(void) -@@ -7567,7 +7573,9 @@ static struct kvm_vcpu *vmx_create_vcpu(struct kvm *kvm, unsigned int id) +@@ -7579,7 +7585,9 @@ static struct kvm_vcpu *vmx_create_vcpu(struct kvm *kvm, unsigned int id) vmx_vcpu_load(&vmx->vcpu, cpu); vmx->vcpu.cpu = cpu; err = vmx_vcpu_setup(vmx); @@ -4713,7 +4713,7 @@ index 801332e..8f9018f 100644 put_cpu(); if (err) goto free_vmcs; -@@ -7590,6 +7598,9 @@ static struct kvm_vcpu *vmx_create_vcpu(struct kvm *kvm, unsigned int id) +@@ -7602,6 +7610,9 @@ static struct kvm_vcpu *vmx_create_vcpu(struct kvm *kvm, unsigned int id) vmx->nested.current_vmptr = -1ull; vmx->nested.current_vmcs12 = NULL; @@ -5704,7 +5704,7 @@ index a16b497..fa578e8 100644 /* diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h -index 404a686..605479f 100644 +index 721de25..c4a10c8 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h @@ -101,6 +101,7 @@ enum { @@ -5714,7 +5714,7 @@ index 404a686..605479f 100644 + FTRACE_OPS_FL_IPIPE_EXCLUSIVE = 1 << 9, }; - /* + #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 @@ -8161,7 +8161,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 0376b05..82b6b3e 100644 +index c5cc872..6cdf1f7 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -26,6 +26,7 @@ struct sched_param { @@ -
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: master Commit: 51680b1d9b3b1993011da1ddf56b54c12e59d49d URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=51680b1d9b3b1993011da1ddf56b54c12e59d49d Author: Philippe Gerum Date: Tue Mar 3 20:15:28 2015 +0100 cobalt/x86: upgrade I-pipe support --- 16-x86-2.patch => ipipe-core-3.16-x86-3.patch} | 54 +++- 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-2.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-3.patch similarity index 99% rename from kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-2.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-3.patch index 18fa1fa..0fcf3fd 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-2.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-3.patch @@ -437,7 +437,7 @@ index 615fa90..e0a62ab 100644 extern void default_send_IPI_mask_sequence_phys(const struct cpumask *mask, diff --git a/arch/x86/include/asm/ipipe.h b/arch/x86/include/asm/ipipe.h new file mode 100644 -index 000..7145c10 +index 000..68af8b7 --- /dev/null +++ b/arch/x86/include/asm/ipipe.h @@ -0,0 +1,118 @@ @@ -467,7 +467,7 @@ index 000..7145c10 + +#ifdef CONFIG_IPIPE + -+#define IPIPE_CORE_RELEASE2 ++#define IPIPE_CORE_RELEASE3 + +struct ipipe_domain; +struct pt_regs; @@ -2498,7 +2498,7 @@ index 1abcb50..dc6d438 100644 /* * When in-kernel, we also print out the stack and code at the diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S -index 0d0c9d4..6e6b88a 100644 +index 0d0c9d4..e834437 100644 --- a/arch/x86/kernel/entry_32.S +++ b/arch/x86/kernel/entry_32.S @@ -45,6 +45,7 @@ @@ -2616,7 +2616,7 @@ index 0d0c9d4..6e6b88a 100644 LOCKDEP_SYS_EXIT DISABLE_INTERRUPTS(CLBR_ANY) TRACE_IRQS_OFF -@@ -443,6 +503,23 @@ sysenter_exit: +@@ -443,6 +503,24 @@ sysenter_exit: PTGS_TO_GS ENABLE_INTERRUPTS_SYSEXIT @@ -2634,13 +2634,14 @@ index 0d0c9d4..6e6b88a 100644 + jmp sysenter_exit +sysenter_exit_root: + call __ipipe_root_sync ++ movl PT_EAX(%esp),%eax + jmp sysenter_exit_check +#endif + #ifdef CONFIG_AUDITSYSCALL sysenter_audit: testl $(_TIF_WORK_SYSCALL_ENTRY & ~_TIF_SYSCALL_AUDIT),TI_flags(%ebp) -@@ -495,6 +572,25 @@ ENTRY(system_call) +@@ -495,6 +573,25 @@ ENTRY(system_call) pushl_cfi %eax # save orig_eax SAVE_ALL GET_THREAD_INFO(%ebp) @@ -2666,7 +2667,7 @@ index 0d0c9d4..6e6b88a 100644 # system call tracing in operation / emulation testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%ebp) jnz syscall_trace_entry -@@ -596,6 +692,7 @@ work_pending: +@@ -596,6 +693,7 @@ work_pending: testb $_TIF_NEED_RESCHED, %cl jz work_notifysig work_resched: @@ -2674,7 +2675,7 @@ index 0d0c9d4..6e6b88a 100644 call schedule LOCKDEP_SYS_EXIT DISABLE_INTERRUPTS(CLBR_ANY)# make sure we don't miss an interrupt -@@ -611,6 +708,7 @@ work_resched: +@@ -611,6 +709,7 @@ work_resched: work_notifysig: # deal with pending signals and # notify-resume requests @@ -2682,7 +2683,7 @@ index 0d0c9d4..6e6b88a 100644 #ifdef CONFIG_VM86 testl $X86_EFLAGS_VM, PT_EFLAGS(%esp) movl %esp, %eax -@@ -759,6 +857,58 @@ END(irq_entries_start) +@@ -759,6 +858,58 @@ END(irq_entries_start) END(interrupt) .previous @@ -2741,7 +2742,7 @@ index 0d0c9d4..6e6b88a 100644 /* * the CPU automatically disables interrupts when executing an IRQ vector, * so IRQ-flags tracing has to follow that: -@@ -788,6 +938,7 @@ ENTRY(name)\ +@@ -788,6 +939,7 @@ ENTRY(name)\ CFI_ENDPROC;\ ENDPROC(name) @@ -2749,7 +2750,7 @@ index 0d0c9d4..6e6b88a 100644 #ifdef CONFIG_TRACING #define TRACE_BUILD_INTERRUPT(name, nr) \ -@@ -1275,9 +1426,15 @@ error_code: +@@ -1275,9 +1427,15 @@ error_code: movl $(__USER_DS), %ecx movl %ecx, %ds movl %ecx, %es @@ -2765,7 +2766,7 @@ index 0d0c9d4..6e6b88a 100644 jmp ret_from_exception CFI_ENDPROC END(page_fault) -@@ -1317,7 +1474,9 @@ ENTRY(debug) +@@ -1317,7 +1475,9 @@ ENTRY(debug) debug_stack_correct: pushl_cfi $-1 # mark this as an int SAVE_ALL @@ -2775,7 +2776,7 @@ index 0d0c9d4..6e6b88a 100644 xorl %edx,%edx # error code 0 movl %esp,%eax # pt_regs pointer call do_debug -@@ -1413,7 +1572,9 @@ ENTRY(int3) +@@ -1413,7 +1573,9 @@ ENTRY(int3) ASM_CLAC pushl_cfi $-1 # mark this as an int SAVE_ALL @@ -15306,10 +15307,35 @@ index f802c2d..b320432 100644 #ifdef finish_arch_post_lock_switch finish_arch_p
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: next Commit: 01f7ffb89837099be2e41a29865b57123642e92e URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=01f7ffb89837099be2e41a29865b57123642e92e Author: Philippe Gerum Date: Fri Mar 20 09:27:24 2015 +0100 cobalt/x86: upgrade I-pipe support --- ...6-x86-3.patch => ipipe-core-3.16.7-x86-3.patch} | 74 ++-- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-3.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.16.7-x86-3.patch similarity index 99% rename from kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-3.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-3.16.7-x86-3.patch index 0fcf3fd..7fcbfba 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-3.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-3.16.7-x86-3.patch @@ -1,5 +1,5 @@ diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index d24887b..ac506bb 100644 +index 27adfd9..40a67c4 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -9,6 +9,7 @@ config 64BIT @@ -4220,7 +4220,7 @@ index be8e1bd..0249ce4 100644 /* diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c -index 5492798..7a685e0 100644 +index 215815b..b0cfd08 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -890,7 +890,7 @@ static int do_boot_cpu(int apicid, int cpu, struct task_struct *idle) @@ -4581,7 +4581,7 @@ index e8edcf5..0a93042 100644 tsk->thread.screen_bitmap = info->screen_bitmap; if (info->flags & VM86_SCREEN_BITMAP) diff --git a/arch/x86/kernel/vsyscall_64.c b/arch/x86/kernel/vsyscall_64.c -index ea5b570..e1f1fe2 100644 +index e1e1e80..a70b1a7 100644 --- a/arch/x86/kernel/vsyscall_64.c +++ b/arch/x86/kernel/vsyscall_64.c @@ -32,6 +32,7 @@ @@ -4658,10 +4658,10 @@ index b5e994a..743ceae 100644 } diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c -index 801332e..8f9018f 100644 +index 6c437ed..767d308 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c -@@ -1781,9 +1781,11 @@ static void __vmx_load_host_state(struct vcpu_vmx *vmx) +@@ -1782,9 +1782,11 @@ static void __vmx_load_host_state(struct vcpu_vmx *vmx) static void vmx_load_host_state(struct vcpu_vmx *vmx) { @@ -4675,7 +4675,7 @@ index 801332e..8f9018f 100644 } /* -@@ -2083,6 +2085,7 @@ static void setup_msrs(struct vcpu_vmx *vmx) +@@ -2084,6 +2086,7 @@ static void setup_msrs(struct vcpu_vmx *vmx) { int save_nmsrs, index; @@ -4683,7 +4683,7 @@ index 801332e..8f9018f 100644 save_nmsrs = 0; #ifdef CONFIG_X86_64 if (is_long_mode(&vmx->vcpu)) { -@@ -2112,6 +2115,7 @@ static void setup_msrs(struct vcpu_vmx *vmx) +@@ -2113,6 +2116,7 @@ static void setup_msrs(struct vcpu_vmx *vmx) move_msr_up(vmx, index, save_nmsrs++); vmx->save_nmsrs = save_nmsrs; @@ -4691,7 +4691,7 @@ index 801332e..8f9018f 100644 if (cpu_has_vmx_msr_bitmap()) vmx_set_msr_bitmap(&vmx->vcpu); -@@ -7192,8 +7196,10 @@ static void vmx_handle_external_intr(struct kvm_vcpu *vcpu) +@@ -7198,8 +7202,10 @@ static void vmx_handle_external_intr(struct kvm_vcpu *vcpu) [ss]"i"(__KERNEL_DS), [cs]"i"(__KERNEL_CS) ); @@ -4703,7 +4703,7 @@ index 801332e..8f9018f 100644 } static bool vmx_mpx_supported(void) -@@ -7567,7 +7573,9 @@ static struct kvm_vcpu *vmx_create_vcpu(struct kvm *kvm, unsigned int id) +@@ -7579,7 +7585,9 @@ static struct kvm_vcpu *vmx_create_vcpu(struct kvm *kvm, unsigned int id) vmx_vcpu_load(&vmx->vcpu, cpu); vmx->vcpu.cpu = cpu; err = vmx_vcpu_setup(vmx); @@ -4713,7 +4713,7 @@ index 801332e..8f9018f 100644 put_cpu(); if (err) goto free_vmcs; -@@ -7590,6 +7598,9 @@ static struct kvm_vcpu *vmx_create_vcpu(struct kvm *kvm, unsigned int id) +@@ -7602,6 +7610,9 @@ static struct kvm_vcpu *vmx_create_vcpu(struct kvm *kvm, unsigned int id) vmx->nested.current_vmptr = -1ull; vmx->nested.current_vmcs12 = NULL; @@ -5704,7 +5704,7 @@ index a16b497..fa578e8 100644 /* diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h -index 404a686..605479f 100644 +index 721de25..c4a10c8 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h @@ -101,6 +101,7 @@ enum { @@ -5714,7 +5714,7 @@ index 404a686..605479f 100644 + FTRACE_OPS_FL_IPIPE_EXCLUSIVE = 1 << 9, }; - /* + #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 @@ -8161,7 +8161,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 0376b05..82b6b3e 100644 +index c5cc872..6cdf1f7 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -26,6 +26,7 @@ struct sched_param { @@ -85
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: next Commit: b2ffcb119159299b95a9110095e2b9b98bdab042 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b2ffcb119159299b95a9110095e2b9b98bdab042 Author: Philippe Gerum Date: Wed Mar 4 09:15:54 2015 +0100 cobalt/x86: upgrade I-pipe support --- ...-x86-7.patch => ipipe-core-3.14.33-x86-8.patch} | 167 +++- 1 file changed, 91 insertions(+), 76 deletions(-) diff --git a/kernel/cobalt/arch/x86/patches/ipipe-core-3.14.28-x86-7.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.14.33-x86-8.patch similarity index 99% rename from kernel/cobalt/arch/x86/patches/ipipe-core-3.14.28-x86-7.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-3.14.33-x86-8.patch index 0086f76..97a412f 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-3.14.28-x86-7.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-3.14.33-x86-8.patch @@ -1,5 +1,5 @@ diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 98aa930..91e382d 100644 +index 2f645c9..908b4f5 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -9,6 +9,7 @@ config 64BIT @@ -50,7 +50,7 @@ index 98aa930..91e382d 100644 + config X86_UP_APIC bool "Local APIC support on uniprocessors" - depends on X86_32 && !SMP && !X86_32_NON_STANDARD && !PCI_MSI + depends on X86_32 && !SMP && !X86_32_NON_STANDARD diff --git a/arch/x86/ia32/ia32entry.S b/arch/x86/ia32/ia32entry.S index 92a2e93..56aa429 100644 --- a/arch/x86/ia32/ia32entry.S @@ -202,7 +202,7 @@ index 4b528a9..0cf06c6 100644 static inline void debug_stack_usage_inc(void) { diff --git a/arch/x86/include/asm/desc.h b/arch/x86/include/asm/desc.h -index 50d033a..f87cb28 100644 +index a94b82e..e185603 100644 --- a/arch/x86/include/asm/desc.h +++ b/arch/x86/include/asm/desc.h @@ -4,6 +4,7 @@ @@ -213,7 +213,7 @@ index 50d033a..f87cb28 100644 #include #include -@@ -368,11 +369,16 @@ static inline void _set_gate(int gate, unsigned type, void *addr, +@@ -376,11 +377,16 @@ static inline void _set_gate(int gate, unsigned type, void *addr, * Pentium F0 0F bugfix can have resulted in the mapped * IDT being write-protected. */ @@ -231,7 +231,7 @@ index 50d033a..f87cb28 100644 _trace_set_gate(n, GATE_INTERRUPT, (void *)trace_##addr,\ 0, 0, __KERNEL_CS); \ } while (0) -@@ -384,6 +390,13 @@ extern unsigned long used_vectors[]; +@@ -392,6 +398,13 @@ extern unsigned long used_vectors[]; static inline void alloc_system_vector(int vector) { if (!test_bit(vector, used_vectors)) { @@ -245,7 +245,7 @@ index 50d033a..f87cb28 100644 set_bit(vector, used_vectors); if (first_system_vector > vector) first_system_vector = vector; -@@ -392,6 +405,12 @@ static inline void alloc_system_vector(int vector) +@@ -400,6 +413,12 @@ static inline void alloc_system_vector(int vector) } } @@ -258,7 +258,7 @@ index 50d033a..f87cb28 100644 #define alloc_intr_gate(n, addr) \ do {\ alloc_system_vector(n); \ -@@ -437,7 +456,7 @@ static inline void set_system_intr_gate_ist(int n, void *addr, unsigned ist) +@@ -445,7 +464,7 @@ static inline void set_system_intr_gate_ist(int n, void *addr, unsigned ist) _set_gate(n, GATE_INTERRUPT, addr, 0x3, ist, __KERNEL_CS); } @@ -442,7 +442,7 @@ index 615fa90..e0a62ab 100644 extern void default_send_IPI_mask_sequence_phys(const struct cpumask *mask, diff --git a/arch/x86/include/asm/ipipe.h b/arch/x86/include/asm/ipipe.h new file mode 100644 -index 000..f6df562 +index 000..a244663 --- /dev/null +++ b/arch/x86/include/asm/ipipe.h @@ -0,0 +1,96 @@ @@ -472,7 +472,7 @@ index 000..f6df562 + +#ifdef CONFIG_IPIPE + -+#define IPIPE_CORE_RELEASE7 ++#define IPIPE_CORE_RELEASE8 + +struct ipipe_domain; + @@ -1664,7 +1664,7 @@ index 2c621a6..18b3219 100644 static void flat_send_IPI_mask(const struct cpumask *cpumask, int vector) diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c -index 6ad4658..c97b856 100644 +index 6ad4658..9233e45 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c @@ -71,8 +71,8 @@ @@ -1809,7 +1809,7 @@ index 6ad4658..c97b856 100644 ioapic_write_entry(attr->ioapic, attr->ioapic_pin, entry); } -@@ -2139,7 +2180,7 @@ static unsigned int startup_ioapic_irq(struct irq_data *data) +@@ -2139,11 +2180,12 @@ static unsigned int startup_ioapic_irq(struct irq_data *data) raw_spin_lock_irqsave(&ioapic_lock, flags); if (irq < legacy_pic->nr_legacy_irqs) { @@ -1818,7 +1818,12 @@ index 6ad4658..c97b856 100644 if (legacy_pic->irq_pending(irq)) was_pending = 1; } -@@ -2198,7 +2239,8 @@ asmlinkage void smp_irq_move_cleanup_interrupt(void) + _
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: next Commit: 51680b1d9b3b1993011da1ddf56b54c12e59d49d URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=51680b1d9b3b1993011da1ddf56b54c12e59d49d Author: Philippe Gerum Date: Tue Mar 3 20:15:28 2015 +0100 cobalt/x86: upgrade I-pipe support --- 16-x86-2.patch => ipipe-core-3.16-x86-3.patch} | 54 +++- 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-2.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-3.patch similarity index 99% rename from kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-2.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-3.patch index 18fa1fa..0fcf3fd 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-2.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-3.patch @@ -437,7 +437,7 @@ index 615fa90..e0a62ab 100644 extern void default_send_IPI_mask_sequence_phys(const struct cpumask *mask, diff --git a/arch/x86/include/asm/ipipe.h b/arch/x86/include/asm/ipipe.h new file mode 100644 -index 000..7145c10 +index 000..68af8b7 --- /dev/null +++ b/arch/x86/include/asm/ipipe.h @@ -0,0 +1,118 @@ @@ -467,7 +467,7 @@ index 000..7145c10 + +#ifdef CONFIG_IPIPE + -+#define IPIPE_CORE_RELEASE2 ++#define IPIPE_CORE_RELEASE3 + +struct ipipe_domain; +struct pt_regs; @@ -2498,7 +2498,7 @@ index 1abcb50..dc6d438 100644 /* * When in-kernel, we also print out the stack and code at the diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S -index 0d0c9d4..6e6b88a 100644 +index 0d0c9d4..e834437 100644 --- a/arch/x86/kernel/entry_32.S +++ b/arch/x86/kernel/entry_32.S @@ -45,6 +45,7 @@ @@ -2616,7 +2616,7 @@ index 0d0c9d4..6e6b88a 100644 LOCKDEP_SYS_EXIT DISABLE_INTERRUPTS(CLBR_ANY) TRACE_IRQS_OFF -@@ -443,6 +503,23 @@ sysenter_exit: +@@ -443,6 +503,24 @@ sysenter_exit: PTGS_TO_GS ENABLE_INTERRUPTS_SYSEXIT @@ -2634,13 +2634,14 @@ index 0d0c9d4..6e6b88a 100644 + jmp sysenter_exit +sysenter_exit_root: + call __ipipe_root_sync ++ movl PT_EAX(%esp),%eax + jmp sysenter_exit_check +#endif + #ifdef CONFIG_AUDITSYSCALL sysenter_audit: testl $(_TIF_WORK_SYSCALL_ENTRY & ~_TIF_SYSCALL_AUDIT),TI_flags(%ebp) -@@ -495,6 +572,25 @@ ENTRY(system_call) +@@ -495,6 +573,25 @@ ENTRY(system_call) pushl_cfi %eax # save orig_eax SAVE_ALL GET_THREAD_INFO(%ebp) @@ -2666,7 +2667,7 @@ index 0d0c9d4..6e6b88a 100644 # system call tracing in operation / emulation testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%ebp) jnz syscall_trace_entry -@@ -596,6 +692,7 @@ work_pending: +@@ -596,6 +693,7 @@ work_pending: testb $_TIF_NEED_RESCHED, %cl jz work_notifysig work_resched: @@ -2674,7 +2675,7 @@ index 0d0c9d4..6e6b88a 100644 call schedule LOCKDEP_SYS_EXIT DISABLE_INTERRUPTS(CLBR_ANY)# make sure we don't miss an interrupt -@@ -611,6 +708,7 @@ work_resched: +@@ -611,6 +709,7 @@ work_resched: work_notifysig: # deal with pending signals and # notify-resume requests @@ -2682,7 +2683,7 @@ index 0d0c9d4..6e6b88a 100644 #ifdef CONFIG_VM86 testl $X86_EFLAGS_VM, PT_EFLAGS(%esp) movl %esp, %eax -@@ -759,6 +857,58 @@ END(irq_entries_start) +@@ -759,6 +858,58 @@ END(irq_entries_start) END(interrupt) .previous @@ -2741,7 +2742,7 @@ index 0d0c9d4..6e6b88a 100644 /* * the CPU automatically disables interrupts when executing an IRQ vector, * so IRQ-flags tracing has to follow that: -@@ -788,6 +938,7 @@ ENTRY(name)\ +@@ -788,6 +939,7 @@ ENTRY(name)\ CFI_ENDPROC;\ ENDPROC(name) @@ -2749,7 +2750,7 @@ index 0d0c9d4..6e6b88a 100644 #ifdef CONFIG_TRACING #define TRACE_BUILD_INTERRUPT(name, nr) \ -@@ -1275,9 +1426,15 @@ error_code: +@@ -1275,9 +1427,15 @@ error_code: movl $(__USER_DS), %ecx movl %ecx, %ds movl %ecx, %es @@ -2765,7 +2766,7 @@ index 0d0c9d4..6e6b88a 100644 jmp ret_from_exception CFI_ENDPROC END(page_fault) -@@ -1317,7 +1474,9 @@ ENTRY(debug) +@@ -1317,7 +1475,9 @@ ENTRY(debug) debug_stack_correct: pushl_cfi $-1 # mark this as an int SAVE_ALL @@ -2775,7 +2776,7 @@ index 0d0c9d4..6e6b88a 100644 xorl %edx,%edx # error code 0 movl %esp,%eax # pt_regs pointer call do_debug -@@ -1413,7 +1572,9 @@ ENTRY(int3) +@@ -1413,7 +1573,9 @@ ENTRY(int3) ASM_CLAC pushl_cfi $-1 # mark this as an int SAVE_ALL @@ -15306,10 +15307,35 @@ index f802c2d..b320432 100644 #ifdef finish_arch_post_lock_switch finish_arch_pos
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: master Commit: 7beb87acfe9fbd51eb402746158e3fde9942cb52 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=7beb87acfe9fbd51eb402746158e3fde9942cb52 Author: Philippe Gerum Date: Tue Jan 6 17:38:29 2015 +0100 cobalt/x86: upgrade I-pipe support --- ...-x86-4.patch => ipipe-core-3.10.32-x86-5.patch} | 188 +- ...-x86-5.patch => ipipe-core-3.14.17-x86-6.patch} | 290 +- .../arch/x86/patches/ipipe-core-3.16-x86-1.patch |15266 3 files changed, 15641 insertions(+), 103 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=7beb87acfe9fbd51eb402746158e3fde9942cb52 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: master Commit: 1e48be22d3ec9a7450b2354a638df911d3c29175 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1e48be22d3ec9a7450b2354a638df911d3c29175 Author: Philippe Gerum Date: Thu Feb 5 09:04:08 2015 +0100 cobalt/x86: upgrade I-pipe support --- ...-x86-6.patch => ipipe-core-3.14.28-x86-7.patch} | 404 1 file changed, 252 insertions(+), 152 deletions(-) diff --git a/kernel/cobalt/arch/x86/patches/ipipe-core-3.14.17-x86-6.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.14.28-x86-7.patch similarity index 97% rename from kernel/cobalt/arch/x86/patches/ipipe-core-3.14.17-x86-6.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-3.14.28-x86-7.patch index 09fef49..0086f76 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-3.14.17-x86-6.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-3.14.28-x86-7.patch @@ -1,5 +1,5 @@ diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index c718d9f..a48da09 100644 +index 98aa930..91e382d 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -9,6 +9,7 @@ config 64BIT @@ -52,7 +52,7 @@ index c718d9f..a48da09 100644 bool "Local APIC support on uniprocessors" depends on X86_32 && !SMP && !X86_32_NON_STANDARD && !PCI_MSI diff --git a/arch/x86/ia32/ia32entry.S b/arch/x86/ia32/ia32entry.S -index 4299eb0..f55a4f0 100644 +index 92a2e93..56aa429 100644 --- a/arch/x86/ia32/ia32entry.S +++ b/arch/x86/ia32/ia32entry.S @@ -83,6 +83,43 @@ @@ -99,15 +99,15 @@ index 4299eb0..f55a4f0 100644 #ifdef CONFIG_PARAVIRT ENTRY(native_usergs_sysret32) swapgs -@@ -152,6 +189,7 @@ ENTRY(ia32_sysenter_target) - _ASM_EXTABLE(1b,ia32_badarg) - ASM_CLAC +@@ -162,6 +199,7 @@ ENTRY(ia32_sysenter_target) + sysenter_flags_fixed: + orl $TS_COMPAT,TI_status+THREAD_INFO(%rsp,RIP-ARGOFFSET) + IPIPE_IA32_SYSCALL %rax sysexit_from_sys_call sysexit_work testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) CFI_REMEMBER_STATE jnz sysenter_tracesys -@@ -162,6 +200,7 @@ sysenter_do_call: +@@ -172,6 +210,7 @@ sysenter_do_call: sysenter_dispatch: call*ia32_sys_call_table(,%rax,8) movq%rax,RAX-ARGOFFSET(%rsp) @@ -115,7 +115,7 @@ index 4299eb0..f55a4f0 100644 DISABLE_INTERRUPTS(CLBR_NONE) TRACE_IRQS_OFF testl $_TIF_ALLWORK_MASK,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) -@@ -309,6 +348,7 @@ ENTRY(ia32_cstar_target) +@@ -325,6 +364,7 @@ ENTRY(ia32_cstar_target) _ASM_EXTABLE(1b,ia32_badarg) ASM_CLAC orl $TS_COMPAT,TI_status+THREAD_INFO(%rsp,RIP-ARGOFFSET) @@ -123,7 +123,7 @@ index 4299eb0..f55a4f0 100644 testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) CFI_REMEMBER_STATE jnz cstar_tracesys -@@ -319,6 +359,7 @@ cstar_do_call: +@@ -335,6 +375,7 @@ cstar_do_call: cstar_dispatch: call *ia32_sys_call_table(,%rax,8) movq %rax,RAX-ARGOFFSET(%rsp) @@ -131,7 +131,7 @@ index 4299eb0..f55a4f0 100644 DISABLE_INTERRUPTS(CLBR_NONE) TRACE_IRQS_OFF testl $_TIF_ALLWORK_MASK,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) -@@ -419,6 +460,7 @@ ENTRY(ia32_syscall) +@@ -435,6 +476,7 @@ ENTRY(ia32_syscall) this could be a problem. */ SAVE_ARGS 0,1,0 orl $TS_COMPAT,TI_status+THREAD_INFO(%rsp,RIP-ARGOFFSET) @@ -139,7 +139,7 @@ index 4299eb0..f55a4f0 100644 testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) jnz ia32_tracesys cmpq $(IA32_NR_syscalls-1),%rax -@@ -430,7 +472,10 @@ ia32_sysret: +@@ -446,7 +488,10 @@ ia32_sysret: movq %rax,RAX-ARGOFFSET(%rsp) ia32_ret_from_sys_call: CLEAR_RREGS -ARGOFFSET @@ -442,7 +442,7 @@ index 615fa90..e0a62ab 100644 extern void default_send_IPI_mask_sequence_phys(const struct cpumask *mask, diff --git a/arch/x86/include/asm/ipipe.h b/arch/x86/include/asm/ipipe.h new file mode 100644 -index 000..3e8492a +index 000..f6df562 --- /dev/null +++ b/arch/x86/include/asm/ipipe.h @@ -0,0 +1,96 @@ @@ -472,7 +472,7 @@ index 000..3e8492a + +#ifdef CONFIG_IPIPE + -+#define IPIPE_CORE_RELEASE6 ++#define IPIPE_CORE_RELEASE7 + +struct ipipe_domain; + @@ -1315,7 +1315,7 @@ index be12c53..4720e61 100644 #ifdef CONFIG_X86_32 diff --git a/arch/x86/include/asm/page_64_types.h b/arch/x86/include/asm/page_64_types.h -index 8de6d9c..8ef5e27 100644 +index d54d1ee..66886e5 100644 --- a/arch/x86/include/asm/page_64_types.h +++ b/arch/x86/include/asm/page_64_types.h @@ -1,7 +1,11 @@ @@ -1433,7 +1433,7 @@ index d7f3b3b..310e55c 100644 [_tif_fork] "i" (_TIF_FORK), \ [thread_info] "i" (offsetof(struct task_struct, stack)), \ diff --git a/arch/x86/include/asm/thread_info.h b/arch/x86/include/asm/thread_info.h -index e1940c0..270922b 100644 +index e870ea9..28df5ac 100644 --- a/arch/x86/include/asm/thr
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: master Commit: 0cf4cbe18e16e2d5e223888427ce571e84b542ba URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=0cf4cbe18e16e2d5e223888427ce571e84b542ba Author: Philippe Gerum Date: Tue Feb 3 18:30:50 2015 +0100 cobalt/x86: upgrade I-pipe support --- 16-x86-1.patch => ipipe-core-3.16-x86-2.patch} | 113 1 file changed, 92 insertions(+), 21 deletions(-) diff --git a/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-1.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-2.patch similarity index 99% rename from kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-1.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-2.patch index 88cd396..18fa1fa 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-1.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-2.patch @@ -437,7 +437,7 @@ index 615fa90..e0a62ab 100644 extern void default_send_IPI_mask_sequence_phys(const struct cpumask *mask, diff --git a/arch/x86/include/asm/ipipe.h b/arch/x86/include/asm/ipipe.h new file mode 100644 -index 000..c875c46 +index 000..7145c10 --- /dev/null +++ b/arch/x86/include/asm/ipipe.h @@ -0,0 +1,118 @@ @@ -467,7 +467,7 @@ index 000..c875c46 + +#ifdef CONFIG_IPIPE + -+#define IPIPE_CORE_RELEASE1 ++#define IPIPE_CORE_RELEASE2 + +struct ipipe_domain; +struct pt_regs; @@ -2786,7 +2786,7 @@ index 0d0c9d4..6e6b88a 100644 movl %esp,%eax # pt_regs pointer call do_int3 diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S -index c844f08..40157fd 100644 +index c844f08..a41be57 100644 --- a/arch/x86/kernel/entry_64.S +++ b/arch/x86/kernel/entry_64.S @@ -50,6 +50,7 @@ @@ -2859,7 +2859,7 @@ index c844f08..40157fd 100644 call schedule_tail # rdi: 'prev' task parameter -@@ -409,15 +432,60 @@ GLOBAL(system_call_after_swapgs) +@@ -409,15 +432,61 @@ GLOBAL(system_call_after_swapgs) movq %rax,ORIG_RAX-ARGOFFSET(%rsp) movq %rcx,RIP-ARGOFFSET(%rsp) CFI_REL_OFFSET rip,RIP-ARGOFFSET @@ -2877,6 +2877,7 @@ index c844f08..40157fd 100644 + jz root_fastexit + testl $_TIP_MAYDAY,TI_ipipe+THREAD_INFO(%rsp,RIP-ARGOFFSET) + jz pipeline_leave ++ leaq -ARGOFFSET(%rsp),%rdi + call __ipipe_call_mayday + jmp pipeline_leave +root_fastexit: @@ -2926,7 +2927,7 @@ index c844f08..40157fd 100644 ja badsys movq %r10,%rcx call *sys_call_table(,%rax,8) # XXX:rip relative -@@ -441,6 +509,7 @@ sysret_check: +@@ -441,6 +510,7 @@ sysret_check: * sysretq will re-enable interrupts: */ TRACE_IRQS_ON @@ -2934,7 +2935,7 @@ index c844f08..40157fd 100644 movq RIP-ARGOFFSET(%rsp),%rcx CFI_REGISTERrip,rcx RESTORE_ARGS 1,-ARG_SKIP,0 -@@ -452,6 +521,8 @@ sysret_check: +@@ -452,6 +522,8 @@ sysret_check: /* Handle reschedules */ /* edx: work, edi: workmask */ sysret_careful: @@ -2943,7 +2944,7 @@ index c844f08..40157fd 100644 bt $TIF_NEED_RESCHED,%edx jnc sysret_signal TRACE_IRQS_ON -@@ -461,6 +532,16 @@ sysret_careful: +@@ -461,6 +533,16 @@ sysret_careful: popq_cfi %rdi jmp sysret_check @@ -2960,7 +2961,7 @@ index c844f08..40157fd 100644 /* Handle a signal */ sysret_signal: TRACE_IRQS_ON -@@ -558,9 +639,15 @@ GLOBAL(int_with_check) +@@ -558,9 +640,15 @@ GLOBAL(int_with_check) movl TI_flags(%rcx),%edx andl %edi,%edx jnz int_careful @@ -2976,7 +2977,7 @@ index c844f08..40157fd 100644 /* Either reschedule or signal or syscall exit tracking needed. */ /* First do a reschedule test. */ /* edx: work, edi: workmask */ -@@ -766,7 +853,31 @@ END(interrupt) +@@ -766,7 +854,31 @@ END(interrupt) subq $ORIG_RAX-RBP, %rsp CFI_ADJUST_CFA_OFFSET ORIG_RAX-RBP SAVE_ARGS_IRQ @@ -3008,7 +3009,7 @@ index c844f08..40157fd 100644 .endm /* -@@ -775,10 +886,27 @@ END(interrupt) +@@ -775,10 +887,27 @@ END(interrupt) */ .p2align CONFIG_X86_L1_CACHE_SHIFT common_interrupt: @@ -3036,7 +3037,7 @@ index c844f08..40157fd 100644 /* 0(%rsp): old_rsp-ARGOFFSET */ ret_from_intr: DISABLE_INTERRUPTS(CLBR_NONE) -@@ -792,7 +920,7 @@ ret_from_intr: +@@ -792,7 +921,7 @@ ret_from_intr: CFI_DEF_CFA_REGISTERrsp CFI_ADJUST_CFA_OFFSET RBP-ARGOFFSET @@ -3045,7 +3046,7 @@ index c844f08..40157fd 100644 GET_THREAD_INFO(%rcx) testl $3,CS-ARGOFFSET(%rsp) je retint_kernel -@@ -812,20 +940,20 @@ retint_check: +@@ -812,20 +941,20 @@ retint_check: jnz retint_careful retint_swapgs:/* return to user-space */ @@ -3070,7 +3071,7 @@ index c844f08..40157fd 100644 restore_args: RESTORE_ARGS 1,8,1 -@@ -930,7 +1058,15 @@ ENTRY(retint_kernel) +@@ -930,7 +1059,15 @@ ENTRY(retint_kernel) jnz retin
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: next Commit: 1e48be22d3ec9a7450b2354a638df911d3c29175 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1e48be22d3ec9a7450b2354a638df911d3c29175 Author: Philippe Gerum Date: Thu Feb 5 09:04:08 2015 +0100 cobalt/x86: upgrade I-pipe support --- ...-x86-6.patch => ipipe-core-3.14.28-x86-7.patch} | 404 1 file changed, 252 insertions(+), 152 deletions(-) diff --git a/kernel/cobalt/arch/x86/patches/ipipe-core-3.14.17-x86-6.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.14.28-x86-7.patch similarity index 97% rename from kernel/cobalt/arch/x86/patches/ipipe-core-3.14.17-x86-6.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-3.14.28-x86-7.patch index 09fef49..0086f76 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-3.14.17-x86-6.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-3.14.28-x86-7.patch @@ -1,5 +1,5 @@ diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index c718d9f..a48da09 100644 +index 98aa930..91e382d 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -9,6 +9,7 @@ config 64BIT @@ -52,7 +52,7 @@ index c718d9f..a48da09 100644 bool "Local APIC support on uniprocessors" depends on X86_32 && !SMP && !X86_32_NON_STANDARD && !PCI_MSI diff --git a/arch/x86/ia32/ia32entry.S b/arch/x86/ia32/ia32entry.S -index 4299eb0..f55a4f0 100644 +index 92a2e93..56aa429 100644 --- a/arch/x86/ia32/ia32entry.S +++ b/arch/x86/ia32/ia32entry.S @@ -83,6 +83,43 @@ @@ -99,15 +99,15 @@ index 4299eb0..f55a4f0 100644 #ifdef CONFIG_PARAVIRT ENTRY(native_usergs_sysret32) swapgs -@@ -152,6 +189,7 @@ ENTRY(ia32_sysenter_target) - _ASM_EXTABLE(1b,ia32_badarg) - ASM_CLAC +@@ -162,6 +199,7 @@ ENTRY(ia32_sysenter_target) + sysenter_flags_fixed: + orl $TS_COMPAT,TI_status+THREAD_INFO(%rsp,RIP-ARGOFFSET) + IPIPE_IA32_SYSCALL %rax sysexit_from_sys_call sysexit_work testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) CFI_REMEMBER_STATE jnz sysenter_tracesys -@@ -162,6 +200,7 @@ sysenter_do_call: +@@ -172,6 +210,7 @@ sysenter_do_call: sysenter_dispatch: call*ia32_sys_call_table(,%rax,8) movq%rax,RAX-ARGOFFSET(%rsp) @@ -115,7 +115,7 @@ index 4299eb0..f55a4f0 100644 DISABLE_INTERRUPTS(CLBR_NONE) TRACE_IRQS_OFF testl $_TIF_ALLWORK_MASK,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) -@@ -309,6 +348,7 @@ ENTRY(ia32_cstar_target) +@@ -325,6 +364,7 @@ ENTRY(ia32_cstar_target) _ASM_EXTABLE(1b,ia32_badarg) ASM_CLAC orl $TS_COMPAT,TI_status+THREAD_INFO(%rsp,RIP-ARGOFFSET) @@ -123,7 +123,7 @@ index 4299eb0..f55a4f0 100644 testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) CFI_REMEMBER_STATE jnz cstar_tracesys -@@ -319,6 +359,7 @@ cstar_do_call: +@@ -335,6 +375,7 @@ cstar_do_call: cstar_dispatch: call *ia32_sys_call_table(,%rax,8) movq %rax,RAX-ARGOFFSET(%rsp) @@ -131,7 +131,7 @@ index 4299eb0..f55a4f0 100644 DISABLE_INTERRUPTS(CLBR_NONE) TRACE_IRQS_OFF testl $_TIF_ALLWORK_MASK,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) -@@ -419,6 +460,7 @@ ENTRY(ia32_syscall) +@@ -435,6 +476,7 @@ ENTRY(ia32_syscall) this could be a problem. */ SAVE_ARGS 0,1,0 orl $TS_COMPAT,TI_status+THREAD_INFO(%rsp,RIP-ARGOFFSET) @@ -139,7 +139,7 @@ index 4299eb0..f55a4f0 100644 testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) jnz ia32_tracesys cmpq $(IA32_NR_syscalls-1),%rax -@@ -430,7 +472,10 @@ ia32_sysret: +@@ -446,7 +488,10 @@ ia32_sysret: movq %rax,RAX-ARGOFFSET(%rsp) ia32_ret_from_sys_call: CLEAR_RREGS -ARGOFFSET @@ -442,7 +442,7 @@ index 615fa90..e0a62ab 100644 extern void default_send_IPI_mask_sequence_phys(const struct cpumask *mask, diff --git a/arch/x86/include/asm/ipipe.h b/arch/x86/include/asm/ipipe.h new file mode 100644 -index 000..3e8492a +index 000..f6df562 --- /dev/null +++ b/arch/x86/include/asm/ipipe.h @@ -0,0 +1,96 @@ @@ -472,7 +472,7 @@ index 000..3e8492a + +#ifdef CONFIG_IPIPE + -+#define IPIPE_CORE_RELEASE6 ++#define IPIPE_CORE_RELEASE7 + +struct ipipe_domain; + @@ -1315,7 +1315,7 @@ index be12c53..4720e61 100644 #ifdef CONFIG_X86_32 diff --git a/arch/x86/include/asm/page_64_types.h b/arch/x86/include/asm/page_64_types.h -index 8de6d9c..8ef5e27 100644 +index d54d1ee..66886e5 100644 --- a/arch/x86/include/asm/page_64_types.h +++ b/arch/x86/include/asm/page_64_types.h @@ -1,7 +1,11 @@ @@ -1433,7 +1433,7 @@ index d7f3b3b..310e55c 100644 [_tif_fork] "i" (_TIF_FORK), \ [thread_info] "i" (offsetof(struct task_struct, stack)), \ diff --git a/arch/x86/include/asm/thread_info.h b/arch/x86/include/asm/thread_info.h -index e1940c0..270922b 100644 +index e870ea9..28df5ac 100644 --- a/arch/x86/include/asm/threa
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: next Commit: 0cf4cbe18e16e2d5e223888427ce571e84b542ba URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=0cf4cbe18e16e2d5e223888427ce571e84b542ba Author: Philippe Gerum Date: Tue Feb 3 18:30:50 2015 +0100 cobalt/x86: upgrade I-pipe support --- 16-x86-1.patch => ipipe-core-3.16-x86-2.patch} | 113 1 file changed, 92 insertions(+), 21 deletions(-) diff --git a/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-1.patch b/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-2.patch similarity index 99% rename from kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-1.patch rename to kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-2.patch index 88cd396..18fa1fa 100644 --- a/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-1.patch +++ b/kernel/cobalt/arch/x86/patches/ipipe-core-3.16-x86-2.patch @@ -437,7 +437,7 @@ index 615fa90..e0a62ab 100644 extern void default_send_IPI_mask_sequence_phys(const struct cpumask *mask, diff --git a/arch/x86/include/asm/ipipe.h b/arch/x86/include/asm/ipipe.h new file mode 100644 -index 000..c875c46 +index 000..7145c10 --- /dev/null +++ b/arch/x86/include/asm/ipipe.h @@ -0,0 +1,118 @@ @@ -467,7 +467,7 @@ index 000..c875c46 + +#ifdef CONFIG_IPIPE + -+#define IPIPE_CORE_RELEASE1 ++#define IPIPE_CORE_RELEASE2 + +struct ipipe_domain; +struct pt_regs; @@ -2786,7 +2786,7 @@ index 0d0c9d4..6e6b88a 100644 movl %esp,%eax # pt_regs pointer call do_int3 diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S -index c844f08..40157fd 100644 +index c844f08..a41be57 100644 --- a/arch/x86/kernel/entry_64.S +++ b/arch/x86/kernel/entry_64.S @@ -50,6 +50,7 @@ @@ -2859,7 +2859,7 @@ index c844f08..40157fd 100644 call schedule_tail # rdi: 'prev' task parameter -@@ -409,15 +432,60 @@ GLOBAL(system_call_after_swapgs) +@@ -409,15 +432,61 @@ GLOBAL(system_call_after_swapgs) movq %rax,ORIG_RAX-ARGOFFSET(%rsp) movq %rcx,RIP-ARGOFFSET(%rsp) CFI_REL_OFFSET rip,RIP-ARGOFFSET @@ -2877,6 +2877,7 @@ index c844f08..40157fd 100644 + jz root_fastexit + testl $_TIP_MAYDAY,TI_ipipe+THREAD_INFO(%rsp,RIP-ARGOFFSET) + jz pipeline_leave ++ leaq -ARGOFFSET(%rsp),%rdi + call __ipipe_call_mayday + jmp pipeline_leave +root_fastexit: @@ -2926,7 +2927,7 @@ index c844f08..40157fd 100644 ja badsys movq %r10,%rcx call *sys_call_table(,%rax,8) # XXX:rip relative -@@ -441,6 +509,7 @@ sysret_check: +@@ -441,6 +510,7 @@ sysret_check: * sysretq will re-enable interrupts: */ TRACE_IRQS_ON @@ -2934,7 +2935,7 @@ index c844f08..40157fd 100644 movq RIP-ARGOFFSET(%rsp),%rcx CFI_REGISTERrip,rcx RESTORE_ARGS 1,-ARG_SKIP,0 -@@ -452,6 +521,8 @@ sysret_check: +@@ -452,6 +522,8 @@ sysret_check: /* Handle reschedules */ /* edx: work, edi: workmask */ sysret_careful: @@ -2943,7 +2944,7 @@ index c844f08..40157fd 100644 bt $TIF_NEED_RESCHED,%edx jnc sysret_signal TRACE_IRQS_ON -@@ -461,6 +532,16 @@ sysret_careful: +@@ -461,6 +533,16 @@ sysret_careful: popq_cfi %rdi jmp sysret_check @@ -2960,7 +2961,7 @@ index c844f08..40157fd 100644 /* Handle a signal */ sysret_signal: TRACE_IRQS_ON -@@ -558,9 +639,15 @@ GLOBAL(int_with_check) +@@ -558,9 +640,15 @@ GLOBAL(int_with_check) movl TI_flags(%rcx),%edx andl %edi,%edx jnz int_careful @@ -2976,7 +2977,7 @@ index c844f08..40157fd 100644 /* Either reschedule or signal or syscall exit tracking needed. */ /* First do a reschedule test. */ /* edx: work, edi: workmask */ -@@ -766,7 +853,31 @@ END(interrupt) +@@ -766,7 +854,31 @@ END(interrupt) subq $ORIG_RAX-RBP, %rsp CFI_ADJUST_CFA_OFFSET ORIG_RAX-RBP SAVE_ARGS_IRQ @@ -3008,7 +3009,7 @@ index c844f08..40157fd 100644 .endm /* -@@ -775,10 +886,27 @@ END(interrupt) +@@ -775,10 +887,27 @@ END(interrupt) */ .p2align CONFIG_X86_L1_CACHE_SHIFT common_interrupt: @@ -3036,7 +3037,7 @@ index c844f08..40157fd 100644 /* 0(%rsp): old_rsp-ARGOFFSET */ ret_from_intr: DISABLE_INTERRUPTS(CLBR_NONE) -@@ -792,7 +920,7 @@ ret_from_intr: +@@ -792,7 +921,7 @@ ret_from_intr: CFI_DEF_CFA_REGISTERrsp CFI_ADJUST_CFA_OFFSET RBP-ARGOFFSET @@ -3045,7 +3046,7 @@ index c844f08..40157fd 100644 GET_THREAD_INFO(%rcx) testl $3,CS-ARGOFFSET(%rsp) je retint_kernel -@@ -812,20 +940,20 @@ retint_check: +@@ -812,20 +941,20 @@ retint_check: jnz retint_careful retint_swapgs:/* return to user-space */ @@ -3070,7 +3071,7 @@ index c844f08..40157fd 100644 restore_args: RESTORE_ARGS 1,8,1 -@@ -930,7 +1058,15 @@ ENTRY(retint_kernel) +@@ -930,7 +1059,15 @@ ENTRY(retint_kernel) jnz retint_
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-3 Branch: next Commit: 7beb87acfe9fbd51eb402746158e3fde9942cb52 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=7beb87acfe9fbd51eb402746158e3fde9942cb52 Author: Philippe Gerum Date: Tue Jan 6 17:38:29 2015 +0100 cobalt/x86: upgrade I-pipe support --- ...-x86-4.patch => ipipe-core-3.10.32-x86-5.patch} | 188 +- ...-x86-5.patch => ipipe-core-3.14.17-x86-6.patch} | 290 +- .../arch/x86/patches/ipipe-core-3.16-x86-1.patch |15266 3 files changed, 15641 insertions(+), 103 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-3.git;a=commitdiff;h=7beb87acfe9fbd51eb402746158e3fde9942cb52 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-forge Branch: next Commit: ed003145ead40cb4bfba6983d87ad796fe8582c4 URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=ed003145ead40cb4bfba6983d87ad796fe8582c4 Author: Philippe Gerum Date: Mon Sep 22 16:41:03 2014 +0200 cobalt/x86: upgrade I-pipe support --- ...-x86-1.patch => ipipe-core-3.10.32-x86-4.patch} | 500 +- .../x86/patches/ipipe-core-3.14.17-x86-4.patch |15101 2 files changed, 15397 insertions(+), 204 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-forge.git;a=commitdiff;h=ed003145ead40cb4bfba6983d87ad796fe8582c4 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-forge Branch: next Commit: 592558ec3265ae51d6e6df46e38b06b72a51364e URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=592558ec3265ae51d6e6df46e38b06b72a51364e Author: Philippe Gerum Date: Mon Sep 22 16:41:03 2014 +0200 cobalt/x86: upgrade I-pipe support --- ...-x86-1.patch => ipipe-core-3.10.32-x86-3.patch} | 502 +- .../x86/patches/ipipe-core-3.14.17-x86-3.patch |15103 2 files changed, 15401 insertions(+), 204 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-forge.git;a=commitdiff;h=592558ec3265ae51d6e6df46e38b06b72a51364e ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-forge Branch: next Commit: a55a763e3dd04f031018b7bcb7e54af214532e23 URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=a55a763e3dd04f031018b7bcb7e54af214532e23 Author: Philippe Gerum Date: Sun Feb 16 16:54:08 2014 +0100 cobalt/x86: upgrade I-pipe support --- .../x86/patches/ipipe-core-3.10.18-x86-1.patch |14738 1 file changed, 14738 insertions(+) Diff: http://git.xenomai.org/?p=xenomai-forge.git;a=commitdiff;h=a55a763e3dd04f031018b7bcb7e54af214532e23 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-forge Branch: master Commit: a55a763e3dd04f031018b7bcb7e54af214532e23 URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=a55a763e3dd04f031018b7bcb7e54af214532e23 Author: Philippe Gerum Date: Sun Feb 16 16:54:08 2014 +0100 cobalt/x86: upgrade I-pipe support --- .../x86/patches/ipipe-core-3.10.18-x86-1.patch |14738 1 file changed, 14738 insertions(+) Diff: http://git.xenomai.org/?p=xenomai-forge.git;a=commitdiff;h=a55a763e3dd04f031018b7bcb7e54af214532e23 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : cobalt/x86: upgrade I-pipe support
Module: xenomai-forge Branch: next Commit: 039a166968242853eebf4fce46cd7b89449e9190 URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=039a166968242853eebf4fce46cd7b89449e9190 Author: Philippe Gerum Date: Sun Feb 16 16:54:08 2014 +0100 cobalt/x86: upgrade I-pipe support --- .../x86/patches/ipipe-core-3.10.18-x86-1.patch |14738 1 file changed, 14738 insertions(+) Diff: http://git.xenomai.org/?p=xenomai-forge.git;a=commitdiff;h=039a166968242853eebf4fce46cd7b89449e9190 ___ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git