summaryrefslogtreecommitdiffstats
path: root/arch/mips64/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips64/kernel')
-rw-r--r--arch/mips64/kernel/process.c1
-rw-r--r--arch/mips64/kernel/smp.c10
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);