summaryrefslogtreecommitdiffstats
path: root/arch/mips/sgi/kernel
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1998-04-05 11:23:36 +0000
committerRalf Baechle <ralf@linux-mips.org>1998-04-05 11:23:36 +0000
commit4318fbda2a7ee51caafdc4eb1f8028a3f0605142 (patch)
treecddb50a81d7d1a628cc400519162080c6d87868e /arch/mips/sgi/kernel
parent36ea5120664550fae6d31f1c6f695e4f8975cb06 (diff)
o Merge with Linux 2.1.91.
o First round of bugfixes for the SC/MC CPUs. o FPU context switch fixes. o Lazy context switches. o Faster syscalls. o Removed dead code. o Shitloads of other things I forgot ...
Diffstat (limited to 'arch/mips/sgi/kernel')
-rw-r--r--arch/mips/sgi/kernel/indy_hpc.c7
-rw-r--r--arch/mips/sgi/kernel/indy_int.c8
-rw-r--r--arch/mips/sgi/kernel/indy_mc.c7
-rw-r--r--arch/mips/sgi/kernel/indy_sc.c8
-rw-r--r--arch/mips/sgi/kernel/indy_timer.c9
-rw-r--r--arch/mips/sgi/kernel/setup.c9
-rw-r--r--arch/mips/sgi/kernel/system.c9
-rw-r--r--arch/mips/sgi/kernel/time.c5
8 files changed, 35 insertions, 27 deletions
diff --git a/arch/mips/sgi/kernel/indy_hpc.c b/arch/mips/sgi/kernel/indy_hpc.c
index 92d0ba669..eb00fe55c 100644
--- a/arch/mips/sgi/kernel/indy_hpc.c
+++ b/arch/mips/sgi/kernel/indy_hpc.c
@@ -1,8 +1,11 @@
-/* $Id: indy_hpc.c,v 1.4 1996/06/29 07:06:50 dm Exp $
+/*
* indy_hpc.c: Routines for generic manipulation of the HPC controllers.
*
* Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
+ *
+ * $Id: indy_hpc.c,v 1.2 1998/03/27 08:53:43 ralf Exp $
*/
+#include <linux/init.h>
#include <asm/addrspace.h>
#include <asm/ptrace.h>
@@ -38,7 +41,7 @@ void sgihpc_write2_modify(int set, int clear)
hpc3mregs->write2 = write2;
}
-void sgihpc_init(void)
+__initfunc(void sgihpc_init(void))
{
unsigned long sid, crev, brev;
diff --git a/arch/mips/sgi/kernel/indy_int.c b/arch/mips/sgi/kernel/indy_int.c
index 0726ee179..950744328 100644
--- a/arch/mips/sgi/kernel/indy_int.c
+++ b/arch/mips/sgi/kernel/indy_int.c
@@ -4,10 +4,10 @@
*
* Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
*
- * $Id: indy_int.c,v 1.5 1997/12/01 17:57:38 ralf Exp $
+ * $Id: indy_int.c,v 1.6 1998/03/17 22:07:41 ralf Exp $
*/
#include <linux/config.h>
-
+#include <linux/init.h>
#include <linux/errno.h>
#include <linux/kernel_stat.h>
#include <linux/signal.h>
@@ -417,7 +417,7 @@ void free_irq(unsigned int irq, void *dev_id)
printk("Trying to free free IRQ%d\n",irq);
}
-void init_IRQ(void)
+__initfunc(void init_IRQ(void))
{
irq_setup();
}
@@ -495,7 +495,7 @@ int probe_irq_off (unsigned long irqs)
return 0;
}
-void sgint_init(void)
+__initfunc(void sgint_init(void))
{
int i;
#ifdef CONFIG_REMOTE_DEBUG
diff --git a/arch/mips/sgi/kernel/indy_mc.c b/arch/mips/sgi/kernel/indy_mc.c
index 449bb5b41..c34cc48f2 100644
--- a/arch/mips/sgi/kernel/indy_mc.c
+++ b/arch/mips/sgi/kernel/indy_mc.c
@@ -1,8 +1,11 @@
-/* $Id: indy_mc.c,v 1.5 1996/06/29 07:06:51 dm Exp $
+/*
* indy_mc.c: Routines for manipulating the INDY memory controller.
*
* Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
+ *
+ * $Id: indy_mc.c,v 1.2 1998/03/27 08:53:44 ralf Exp $
*/
+#include <linux/init.h>
#include <asm/addrspace.h>
#include <asm/ptrace.h>
@@ -43,7 +46,7 @@ static inline char *mconfig_string(unsigned long val)
};
}
-void sgimc_init(void)
+__initfunc(void sgimc_init(void))
{
unsigned long tmpreg;
diff --git a/arch/mips/sgi/kernel/indy_sc.c b/arch/mips/sgi/kernel/indy_sc.c
index 3cee74968..b7466339a 100644
--- a/arch/mips/sgi/kernel/indy_sc.c
+++ b/arch/mips/sgi/kernel/indy_sc.c
@@ -4,10 +4,10 @@
* Copyright (C) 1997 Ralf Baechle (ralf@gnu.org),
* derived from r4xx0.c by David S. Miller (dm@engr.sgi.com).
*
- * $Id: indy_sc.c,v 1.5 1998/03/26 07:33:13 ralf Exp $
+ * $Id: indy_sc.c,v 1.2 1998/03/27 04:47:57 ralf Exp $
*/
#include <linux/config.h>
-
+#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/mm.h>
@@ -161,7 +161,7 @@ static void indy_sc_disable(void)
" : "=r" (tmp1), "=r" (tmp2), "=r" (tmp3));
}
-static inline int indy_sc_probe(void)
+__initfunc(static inline int indy_sc_probe(void))
{
volatile unsigned int *cpu_control;
unsigned short cmd = 0xc220;
@@ -257,7 +257,7 @@ struct bcache_ops indy_sc_ops = {
indy_sc_wback_invalidate
};
-void indy_sc_init(void)
+__initfunc(void indy_sc_init(void))
{
if (indy_sc_probe()) {
indy_sc_enable();
diff --git a/arch/mips/sgi/kernel/indy_timer.c b/arch/mips/sgi/kernel/indy_timer.c
index 7d9e041f3..a1270e7f3 100644
--- a/arch/mips/sgi/kernel/indy_timer.c
+++ b/arch/mips/sgi/kernel/indy_timer.c
@@ -3,10 +3,10 @@
*
* Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
*
- * $Id: indy_timer.c,v 1.6 1998/03/17 22:07:41 ralf Exp $
+ * $Id: indy_timer.c,v 1.7 1998/03/22 23:27:17 ralf Exp $
*/
-
#include <linux/errno.h>
+#include <linux/init.h>
#include <linux/sched.h>
#include <linux/kernel.h>
#include <linux/param.h>
@@ -195,7 +195,7 @@ static inline unsigned long mktime(unsigned int year, unsigned int mon,
)*60 + sec; /* finally seconds */
}
-unsigned long get_indy_time(void)
+__initfunc(static unsigned long get_indy_time(void))
{
struct indy_clock *clock = INDY_CLOCK_REGS;
unsigned int year, mon, day, hour, min, sec;
@@ -240,7 +240,7 @@ unsigned long get_indy_time(void)
#define ALLINTS (IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4 | IE_IRQ5)
-void indy_timer_init(void)
+__initfunc(void indy_timer_init(void))
{
struct sgi_ioc_timers *p;
volatile unsigned char *tcwp, *tc2p;
@@ -307,4 +307,3 @@ void do_settimeofday(struct timeval *tv)
time_esterror = MAXPHASE;
sti();
}
-
diff --git a/arch/mips/sgi/kernel/setup.c b/arch/mips/sgi/kernel/setup.c
index c8c8afc89..6b2c1846e 100644
--- a/arch/mips/sgi/kernel/setup.c
+++ b/arch/mips/sgi/kernel/setup.c
@@ -3,8 +3,9 @@
*
* Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
*
- * $Id: setup.c,v 1.6 1997/12/01 17:57:38 ralf Exp $
+ * $Id: setup.c,v 1.7 1998/03/04 08:47:27 ralf Exp $
*/
+#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/sched.h>
@@ -50,7 +51,7 @@ static unsigned char sgi_read_status(void)
return sgi_kh->command;
}
-static void sgi_keyboard_setup(void)
+__initfunc(static void sgi_keyboard_setup(void))
{
kbd_read_input = sgi_read_input;
kbd_write_output = sgi_write_output;
@@ -58,12 +59,12 @@ static void sgi_keyboard_setup(void)
kbd_read_status = sgi_read_status;
}
-static void sgi_irq_setup(void)
+__initfunc(static void sgi_irq_setup(void))
{
sgint_init();
}
-void sgi_setup(void)
+__initfunc(void sgi_setup(void))
{
char *ctype;
diff --git a/arch/mips/sgi/kernel/system.c b/arch/mips/sgi/kernel/system.c
index affb009f2..f27d2ce05 100644
--- a/arch/mips/sgi/kernel/system.c
+++ b/arch/mips/sgi/kernel/system.c
@@ -3,8 +3,9 @@
*
* Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
*
- * $Id: system.c,v 1.3 1997/09/13 02:19:18 ralf Exp $
+ * $Id: system.c,v 1.4 1997/12/01 17:57:39 ralf Exp $
*/
+#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/string.h>
@@ -56,7 +57,7 @@ static struct smatch sgi_cputable[] = {
#define NUM_CPUS 9 /* for now */
-static enum sgi_mach string_to_mach(char *s)
+__initfunc(static enum sgi_mach string_to_mach(char *s))
{
int i;
@@ -71,7 +72,7 @@ static enum sgi_mach string_to_mach(char *s)
return (enum sgi_mach) 0;
}
-static int string_to_cpu(char *s)
+__initfunc(static int string_to_cpu(char *s))
{
int i;
@@ -90,7 +91,7 @@ static int string_to_cpu(char *s)
* We' call this early before loadmmu(). If we do the other way around
* the firmware will crash and burn.
*/
-void sgi_sysinit(void)
+__initfunc(void sgi_sysinit(void))
{
pcomponent *p, *toplev, *cpup = 0;
int cputype = -1;
diff --git a/arch/mips/sgi/kernel/time.c b/arch/mips/sgi/kernel/time.c
index 1f5137c27..7dc5a4d53 100644
--- a/arch/mips/sgi/kernel/time.c
+++ b/arch/mips/sgi/kernel/time.c
@@ -1,13 +1,14 @@
-/* $Id: time.c,v 1.1 1996/06/08 12:07:08 dm Exp $
+/* $Id: time.c,v 1.2 1998/03/27 08:53:45 ralf Exp $
* time.c: Generic SGI time_init() code, this will dispatch to the
* appropriate per-architecture time/counter init code.
*
* Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
*/
+#include <linux/init.h>
extern void indy_timer_init(void);
-void time_init(void)
+__initfunc(void time_init(void))
{
/* XXX assume INDY for now XXX */
indy_timer_init();