summaryrefslogtreecommitdiffstats
path: root/arch/mips64/kernel
diff options
context:
space:
mode:
authorKanoj Sarcar <kanoj@engr.sgi.com>2000-03-26 03:56:59 +0000
committerKanoj Sarcar <kanoj@engr.sgi.com>2000-03-26 03:56:59 +0000
commit048fea6c1fbbae09d78dd5d81f27437f01edc33e (patch)
treeeeb369fb7f53ac2e3a87f40f6cd6c785e5ca52a4 /arch/mips64/kernel
parent4db680f4b269b4a15dccba83a547627b77597b40 (diff)
ip27-irq.c, system.h: implement SMP intr on/off primitives similar to i386.
process.c, smp.c: minor initialization code. SMP compiles still hang at the scsi probing stage, no improvements.
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);