summaryrefslogtreecommitdiffstats
path: root/arch/sparc
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc')
-rw-r--r--arch/sparc/boot/Makefile14
-rw-r--r--arch/sparc/kernel/ioport.c40
-rw-r--r--arch/sparc/kernel/irq.c7
-rw-r--r--arch/sparc/kernel/setup.c6
-rw-r--r--arch/sparc/kernel/sparc_ksyms.c4
-rw-r--r--arch/sparc/lib/locks.S21
-rw-r--r--arch/sparc/mm/init.c4
7 files changed, 26 insertions, 70 deletions
diff --git a/arch/sparc/boot/Makefile b/arch/sparc/boot/Makefile
index b0f7f63ea..a7a562549 100644
--- a/arch/sparc/boot/Makefile
+++ b/arch/sparc/boot/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.9 1998/10/26 20:01:03 davem Exp $
+# $Id: Makefile,v 1.10 2000/02/23 08:17:46 jj Exp $
# Makefile for the Sparc boot stuff.
#
# Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
@@ -22,16 +22,20 @@ btfixupprep: btfixupprep.c
clean:
rm -f btfixupprep piggyback tftpboot.img btfix.o btfix.s
-BTOBJS := $(HEAD) init/main.o init/version.o \
- $(CORE_FILES_NO_BTFIX) $(FILESYSTEMS) \
- $(NETWORKS) $(DRIVERS)
+BTOBJS := $(HEAD) init/main.o init/version.o
+BTLIBS := $(CORE_FILES_NO_BTFIX) $(FILESYSTEMS) \
+ $(DRIVERS) $(NETWORKS)
# I wanted to make this depend upon BTOBJS so that a parallel
# build would work, but this fails because $(HEAD) cannot work
# properly as it will cause head.o to be built with the implicit
# rules not the ones in kernel/Makefile. Someone please fix. --DaveM
vmlinux.o: dummy
- $(LD) -r $(patsubst %,$(TOPDIR)/%,$(BTOBJS)) $(LIBS) -o vmlinux.o
+ $(LD) -r $(patsubst %,$(TOPDIR)/%,$(BTOBJS)) \
+ --start-group \
+ $(patsubst %,$(TOPDIR)/%,$(BTLIBS)) \
+ $(LIBS) \
+ --end-group -o vmlinux.o
btfix.s: btfixupprep vmlinux.o
$(OBJDUMP) -x vmlinux.o | ./btfixupprep > btfix.s
diff --git a/arch/sparc/kernel/ioport.c b/arch/sparc/kernel/ioport.c
index 8c8903d26..f0dbea065 100644
--- a/arch/sparc/kernel/ioport.c
+++ b/arch/sparc/kernel/ioport.c
@@ -695,42 +695,6 @@ _sparc_io_get_info(char *buf, char **start, off_t fpos, int length, int *eof,
return p-buf;
}
-static struct proc_dir_entry _sparc_iomap_proc_entry = {
- 0, /* Inode number - dynamic */
- 6, /* Length of the file name */
- "io_map", /* The file name */
- S_IFREG | S_IRUGO, /* File mode */
- 1, /* Number of links */
- 0, 0, /* The uid and gid for the file */
- 0, /* The size of the file reported by ls. */
- NULL, /* struct inode_operations * ops */
- NULL, /* get_info: backward compatibility */
- NULL, /* owner */
- NULL, NULL, NULL, /* linkage */
- &sparc_iomap,
- _sparc_io_get_info, /* The read function for this file */
- NULL,
- /* and more stuff */
-};
-
-static struct proc_dir_entry _sparc_dvma_proc_entry = {
- 0, /* Inode number - dynamic */
- 8, /* Length of the file name */
- "dvma_map", /* The file name */
- S_IFREG | S_IRUGO, /* File mode */
- 1, /* Number of links */
- 0, 0, /* The uid and gid for the file */
- 0, /* The size of the file reported by ls. */
- NULL, /* struct inode_operations * ops */
- NULL, /* get_info: backward compatibility */
- NULL, /* owner */
- NULL, NULL, NULL, /* linkage */
- &_sparc_dvma,
- _sparc_io_get_info,
- NULL,
- /* some more stuff */
-};
-
#endif CONFIG_PROC_FS
/*
@@ -782,7 +746,7 @@ void ioport_init(void)
};
#ifdef CONFIG_PROC_FS
- proc_register(&proc_root, &_sparc_iomap_proc_entry);
- proc_register(&proc_root, &_sparc_dvma_proc_entry);
+ create_proc_read_entry("io_map",0,0,_sparc_io_get_info,&sparc_iomap);
+ create_proc_read_entry("dvma_map",0,0,_sparc_io_get_info,&_sparc_dvma);
#endif
}
diff --git a/arch/sparc/kernel/irq.c b/arch/sparc/kernel/irq.c
index 471929a01..07aefa660 100644
--- a/arch/sparc/kernel/irq.c
+++ b/arch/sparc/kernel/irq.c
@@ -1,4 +1,4 @@
-/* $Id: irq.c,v 1.101 2000/02/09 11:15:03 davem Exp $
+/* $Id: irq.c,v 1.102 2000/02/25 05:44:35 davem Exp $
* arch/sparc/kernel/irq.c: Interrupt request handling routines. On the
* Sparc the IRQ's are basically 'cast in stone'
* and you are supposed to probe the prom's device
@@ -713,3 +713,8 @@ void __init init_IRQ(void)
}
btfixup();
}
+
+void init_irq_proc(void)
+{
+ /* For now, nothing... */
+}
diff --git a/arch/sparc/kernel/setup.c b/arch/sparc/kernel/setup.c
index 50d682929..d4ac34932 100644
--- a/arch/sparc/kernel/setup.c
+++ b/arch/sparc/kernel/setup.c
@@ -1,4 +1,4 @@
-/* $Id: setup.c,v 1.114 2000/01/29 01:08:57 anton Exp $
+/* $Id: setup.c,v 1.115 2000/02/26 04:24:31 davem Exp $
* linux/arch/sparc/kernel/setup.c
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
@@ -294,6 +294,8 @@ static struct console prom_console = {
"PROM", prom_cons_write, 0, 0, 0, 0, 0, CON_PRINTBUFFER, 0, 0, 0
};
+extern void paging_init(void);
+
void __init setup_arch(char **cmdline_p)
{
int i;
@@ -478,6 +480,8 @@ void __init setup_arch(char **cmdline_p)
if (serial_console)
conswitchp = NULL;
+
+ paging_init();
}
asmlinkage int sys_ioperm(unsigned long from, unsigned long num, int on)
diff --git a/arch/sparc/kernel/sparc_ksyms.c b/arch/sparc/kernel/sparc_ksyms.c
index cdc1f0751..d4585d9d5 100644
--- a/arch/sparc/kernel/sparc_ksyms.c
+++ b/arch/sparc/kernel/sparc_ksyms.c
@@ -1,4 +1,4 @@
-/* $Id: sparc_ksyms.c,v 1.91 2000/02/18 20:23:24 davem Exp $
+/* $Id: sparc_ksyms.c,v 1.93 2000/02/26 11:02:45 anton Exp $
* arch/sparc/kernel/ksyms.c: Sparc specific ksyms support.
*
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
@@ -92,7 +92,6 @@ __attribute__((section("__ksymtab"))) = \
/* used by various drivers */
EXPORT_SYMBOL(sparc_cpu_model);
-EXPORT_SYMBOL_PRIVATE(_spinlock_waitfor);
EXPORT_SYMBOL(kernel_thread);
#ifdef SPIN_LOCK_DEBUG
EXPORT_SYMBOL(_do_spin_lock);
@@ -246,7 +245,6 @@ EXPORT_SYMBOL(strrchr);
EXPORT_SYMBOL(strpbrk);
EXPORT_SYMBOL(strtok);
EXPORT_SYMBOL(strstr);
-EXPORT_SYMBOL(strspn);
/* Special internal versions of library functions. */
EXPORT_SYMBOL(__copy_1page);
diff --git a/arch/sparc/lib/locks.S b/arch/sparc/lib/locks.S
index 102541b18..e199f3813 100644
--- a/arch/sparc/lib/locks.S
+++ b/arch/sparc/lib/locks.S
@@ -1,4 +1,4 @@
-/* $Id: locks.S,v 1.15 1998/10/14 09:18:55 jj Exp $
+/* $Id: locks.S,v 1.16 2000/02/26 11:02:47 anton Exp $
* locks.S: SMP low-level lock primitives on Sparc.
*
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
@@ -15,25 +15,6 @@
.text
.align 4
- /* This is called when the initial acquisition attempt of a spin
- * lock fails. The calling convention is weird, return address
- * is in %o7 as usual but we agree with the caller to only touch
- * and use %g2 as a temporary. We are passed a ptr to the lock
- * itself in %g1, %g4 must be restored into %o7 when we return,
- * and the caller wants us to return to him at three instructions
- * previous to the call instruction which got us here. See how
- * this is used in asm/spinlock.h if what I just said confuses
- * you to no end.
- */
- .globl ___spinlock_waitfor
-___spinlock_waitfor:
-1: orcc %g2, 0x0, %g0
- bne,a 1b
- ldub [%g1], %g2
- ldstub [%g1], %g2
- jmpl %o7 - 12, %g0
- mov %g4, %o7
-
/* Read/writer locks, as usual this is overly clever to make it
* as fast as possible.
*/
diff --git a/arch/sparc/mm/init.c b/arch/sparc/mm/init.c
index 6736dc9d3..3ac49a10b 100644
--- a/arch/sparc/mm/init.c
+++ b/arch/sparc/mm/init.c
@@ -1,4 +1,4 @@
-/* $Id: init.c,v 1.80 2000/02/09 21:11:06 davem Exp $
+/* $Id: init.c,v 1.81 2000/02/26 11:59:31 anton Exp $
* linux/arch/sparc/mm/init.c
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
@@ -40,7 +40,7 @@ unsigned long phys_base;
struct sparc_phys_banks sp_banks[SPARC_PHYS_BANKS];
unsigned long sparc_unmapped_base;
-struct pgtable_cache_struct pgt_quicklists;
+struct pgtable_cache_struct pgt_quicklists = { 0, 0, 0, 0, SPIN_LOCK_UNLOCKED, SPIN_LOCK_UNLOCKED };
/* References to section boundaries */
extern char __init_begin, __init_end, _start, end, etext , edata;