diff options
Diffstat (limited to 'arch/sparc')
-rw-r--r-- | arch/sparc/boot/Makefile | 14 | ||||
-rw-r--r-- | arch/sparc/kernel/ioport.c | 40 | ||||
-rw-r--r-- | arch/sparc/kernel/irq.c | 7 | ||||
-rw-r--r-- | arch/sparc/kernel/setup.c | 6 | ||||
-rw-r--r-- | arch/sparc/kernel/sparc_ksyms.c | 4 | ||||
-rw-r--r-- | arch/sparc/lib/locks.S | 21 | ||||
-rw-r--r-- | arch/sparc/mm/init.c | 4 |
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; |