diff options
Diffstat (limited to 'arch/mips64/kernel')
-rw-r--r-- | arch/mips64/kernel/process.c | 1 | ||||
-rw-r--r-- | arch/mips64/kernel/smp.c | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/arch/mips64/kernel/process.c b/arch/mips64/kernel/process.c index f6998a6bb..c2c077e35 100644 --- a/arch/mips64/kernel/process.c +++ b/arch/mips64/kernel/process.c @@ -33,6 +33,7 @@ asmlinkage int cpu_idle(void) { /* endless idle loop with no priority at all */ + init_idle(); current->priority = 0; current->counter = -100; while (1) { diff --git a/arch/mips64/kernel/smp.c b/arch/mips64/kernel/smp.c index c0cd75e9a..7888fa01d 100644 --- a/arch/mips64/kernel/smp.c +++ b/arch/mips64/kernel/smp.c @@ -3,18 +3,28 @@ #include <linux/threads.h> #include <linux/time.h> #include <linux/timex.h> +#include <linux/sched.h> #include <asm/atomic.h> #include <asm/processor.h> #include <asm/system.h> +#include <asm/hardirq.h> /* The 'big kernel lock' */ spinlock_t kernel_flag = SPIN_LOCK_UNLOCKED; int smp_threads_ready = 0; +static void smp_tune_scheduling (void) +{ +} + void __init smp_boot_cpus(void) { + global_irq_holder = 0; + current->processor = 0; + init_idle(); + smp_tune_scheduling(); } static atomic_t smp_commenced = ATOMIC_INIT(0); |