Messages in this thread Patch in this message | | | From | David Daney <> | Subject | [PATCH] jump-label: initialize jump-label subsystem somewhat later | Date | Wed, 14 Dec 2011 08:48:35 -0800 |
| |
From: David Daney <david.daney@cavium.com>
commit 97ce2c88f9ad42e3c60a9beb9fca87abf3639faa breaks MIPS.
The jump-lable initialization does I-Cache flushing after modifying code. On MIPS this is done by calling through the function pointer flush_icache_range(). This function pointer is initialized mm_init().
As things stand, we cannot be calling jump_label_init() until after mm_init() completes, so we move the call down to satisfy this constraint.
Signed-off-by: David Daney <david.daney@cavium.com> --- init/main.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/init/main.c b/init/main.c index 217ed23..8c6a155 100644 --- a/init/main.c +++ b/init/main.c @@ -513,8 +513,6 @@ asmlinkage void __init start_kernel(void) __stop___param - __start___param, &unknown_bootoption); - jump_label_init(); - /* * These use large bootmem allocations and must precede * kmem_cache_init() @@ -526,6 +524,8 @@ asmlinkage void __init start_kernel(void) trap_init(); mm_init(); + jump_label_init(); + /* * Set up the scheduler prior starting any interrupts (such as the * timer interrupt). Full topology setup happens at smp_init() -- 1.7.2.3
| |