summaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/baget/irq.c6
-rw-r--r--arch/mips/config.in8
-rw-r--r--arch/mips/dec/irq.c6
-rw-r--r--arch/mips/defconfig31
-rw-r--r--arch/mips/kernel/irixelf.c4
-rw-r--r--arch/mips/kernel/irq.c10
-rw-r--r--arch/mips/kernel/mips_ksyms.c4
-rw-r--r--arch/mips/kernel/signal.c4
-rw-r--r--arch/mips/kernel/syscall.c40
-rw-r--r--arch/mips/kernel/syscalls.h10
-rw-r--r--arch/mips/kernel/sysirix.c45
-rw-r--r--arch/mips/mm/fault.c4
-rw-r--r--arch/mips/mm/init.c33
-rw-r--r--arch/mips/mm/umap.c2
-rw-r--r--arch/mips/sgi/kernel/indy_int.c18
-rw-r--r--arch/mips/sgi/kernel/indy_timer.c6
16 files changed, 142 insertions, 89 deletions
diff --git a/arch/mips/baget/irq.c b/arch/mips/baget/irq.c
index 8302faf5a..cd12ea66a 100644
--- a/arch/mips/baget/irq.c
+++ b/arch/mips/baget/irq.c
@@ -5,7 +5,7 @@
* Code (mostly sleleton and comments) derived from DECstation IRQ
* handling.
*
- * $Id: irq.c,v 1.4 1999/10/09 00:00:57 ralf Exp $
+ * $Id: irq.c,v 1.5 1999/12/04 03:58:59 ralf Exp $
*/
#include <linux/errno.h>
#include <linux/init.h>
@@ -182,7 +182,7 @@ static void do_IRQ(int irq, struct pt_regs * regs)
int do_random, cpu;
cpu = smp_processor_id();
- hardirq_enter(cpu);
+ irq_enter(cpu);
kstat.irqs[cpu][irq]++;
mask_irq(irq);
@@ -204,7 +204,7 @@ static void do_IRQ(int irq, struct pt_regs * regs)
printk("do_IRQ: Unregistered IRQ (0x%X) occured\n", irq);
}
unmask_irq(irq);
- hardirq_exit(cpu);
+ irq_exit(cpu);
/* unmasking and bottom half handling is done magically for us. */
}
diff --git a/arch/mips/config.in b/arch/mips/config.in
index c6a6bd704..8cfe976e9 100644
--- a/arch/mips/config.in
+++ b/arch/mips/config.in
@@ -1,4 +1,4 @@
-# $Id: config.in,v 1.36 2000/01/27 23:45:24 ralf Exp $
+# $Id: config.in,v 1.37 2000/01/29 01:41:59 ralf Exp $
# For a description of the syntax of this configuration file,
# see the Configure script.
#
@@ -124,6 +124,10 @@ define_bool CONFIG_BINFMT_ELF y
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
bool 'Networking support' CONFIG_NET
+
+source drivers/pci/Config.in
+source drivers/pcmcia/Config.in
+
bool 'System V IPC' CONFIG_SYSVIPC
bool 'BSD Process Accounting' CONFIG_BSD_PROCESS_ACCT
bool 'Sysctl support' CONFIG_SYSCTL
@@ -141,6 +145,8 @@ if [ "$CONFIG_MODULES" = "y" ]; then
bool ' Kernel module loader' CONFIG_KMOD
fi
+source drivers/pci/Config.in
+
endmenu
if [ "$CONFIG_DECSTATION" = "y" ]; then
diff --git a/arch/mips/dec/irq.c b/arch/mips/dec/irq.c
index c60047a41..b6841cb55 100644
--- a/arch/mips/dec/irq.c
+++ b/arch/mips/dec/irq.c
@@ -4,7 +4,7 @@
* Copyright (C) 1992 Linus Torvalds
* Copyright (C) 1994, 1995, 1996, 1997 Ralf Baechle
*
- * $Id: irq.c,v 1.4 1999/10/09 00:00:57 ralf Exp $
+ * $Id: irq.c,v 1.5 1999/12/04 03:58:59 ralf Exp $
*/
#include <linux/errno.h>
#include <linux/init.h>
@@ -127,7 +127,7 @@ asmlinkage void do_IRQ(int irq, struct pt_regs *regs)
int do_random, cpu;
cpu = smp_processor_id();
- hardirq_enter(cpu);
+ irq_enter(cpu);
kstat.irqs[cpu][irq]++;
mask_irq(irq);
@@ -147,7 +147,7 @@ asmlinkage void do_IRQ(int irq, struct pt_regs *regs)
unmask_irq(irq);
__cli();
}
- hardirq_exit(cpu);
+ irq_exit(cpu);
/* unmasking and bottom half handling is done magically for us. */
}
diff --git a/arch/mips/defconfig b/arch/mips/defconfig
index 48c4298cb..d64e49531 100644
--- a/arch/mips/defconfig
+++ b/arch/mips/defconfig
@@ -47,6 +47,11 @@ CONFIG_FORWARD_KEYBOARD=y
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_NET=y
+
+#
+# PCMCIA/CardBus support
+#
+# CONFIG_PCMCIA is not set
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
@@ -201,6 +206,11 @@ CONFIG_MOUSE=y
CONFIG_PSMOUSE=y
# CONFIG_82C710_MOUSE is not set
# CONFIG_PC110_PAD is not set
+
+#
+# Joysticks
+#
+# CONFIG_JOYSTICK is not set
# CONFIG_QIC02_TAPE is not set
#
@@ -214,11 +224,6 @@ CONFIG_PSMOUSE=y
# Video For Linux
#
# CONFIG_VIDEO_DEV is not set
-
-#
-# Joystick support
-#
-# CONFIG_JOYSTICK is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
@@ -228,14 +233,11 @@ CONFIG_PSMOUSE=y
#
# CONFIG_FTAPE is not set
# CONFIG_DRM is not set
+# CONFIG_DRM_TDFX is not set
+# CONFIG_AGP is not set
#
-# PCMCIA character device support
-#
-# CONFIG_PCMCIA_SERIAL_CS is not set
-
-#
-# USB drivers - not for the faint of heart
+# Support for USB
#
# CONFIG_USB is not set
@@ -260,7 +262,6 @@ CONFIG_AUTOFS_FS=y
# CONFIG_EFS_FS is not set
CONFIG_ISO9660_FS=y
# CONFIG_JOLIET is not set
-# CONFIG_UDF_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_HPFS_FS is not set
@@ -269,6 +270,7 @@ CONFIG_PROC_FS=y
# CONFIG_ROMFS_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
+# CONFIG_UDF_FS is not set
# CONFIG_UFS_FS is not set
#
@@ -278,7 +280,7 @@ CONFIG_EXT2_FS=y
CONFIG_NFS_FS=y
CONFIG_ROOT_NFS=y
CONFIG_NFSD=y
-# CONFIG_NFSD_SUN is not set
+# CONFIG_NFSD_V3 is not set
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
# CONFIG_SMB_FS is not set
@@ -289,9 +291,6 @@ CONFIG_LOCKD=y
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
CONFIG_SGI_PARTITION=y
# CONFIG_SUN_PARTITION is not set
# CONFIG_NLS is not set
diff --git a/arch/mips/kernel/irixelf.c b/arch/mips/kernel/irixelf.c
index 080e08cfb..b0225f750 100644
--- a/arch/mips/kernel/irixelf.c
+++ b/arch/mips/kernel/irixelf.c
@@ -1,4 +1,4 @@
-/* $Id: irixelf.c,v 1.22 1999/10/09 00:00:58 ralf Exp $
+/* $Id: irixelf.c,v 1.23 2000/01/29 01:41:59 ralf Exp $
*
* irixelf.c: Code to load IRIX ELF executables which conform to
* the MIPS ABI.
@@ -31,7 +31,7 @@
#include <linux/elfcore.h>
#include <asm/uaccess.h>
-#include <asm/pgtable.h>
+#include <asm/pgalloc.h>
#include <asm/mipsregs.h>
#include <asm/prctl.h>
diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c
index 88cdb7bf5..92d125137 100644
--- a/arch/mips/kernel/irq.c
+++ b/arch/mips/kernel/irq.c
@@ -1,4 +1,4 @@
-/* $Id: irq.c,v 1.17 1999/12/04 03:59:00 ralf Exp $
+/* $Id: irq.c,v 1.18 2000/01/26 00:07:44 ralf Exp $
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
@@ -146,7 +146,7 @@ asmlinkage void i8259_do_irq(int irq, struct pt_regs *regs)
int do_random, cpu;
cpu = smp_processor_id();
- hardirq_enter(cpu);
+ irq_enter(cpu);
if (irq >= 16)
goto out;
@@ -174,7 +174,7 @@ asmlinkage void i8259_do_irq(int irq, struct pt_regs *regs)
unmask_irq (irq);
out:
- hardirq_exit(cpu);
+ irq_exit(cpu);
}
/*
@@ -190,7 +190,7 @@ asmlinkage void do_IRQ(int irq, struct pt_regs * regs)
int do_random, cpu;
cpu = smp_processor_id();
- hardirq_enter(cpu);
+ irq_enter(cpu);
kstat.irqs[cpu][irq]++;
action = *(irq + irq_action);
@@ -208,7 +208,7 @@ asmlinkage void do_IRQ(int irq, struct pt_regs * regs)
add_interrupt_randomness(irq);
__cli();
}
- hardirq_exit(cpu);
+ irq_exit(cpu);
/* unmasking and bottom half handling is done magically for us. */
}
diff --git a/arch/mips/kernel/mips_ksyms.c b/arch/mips/kernel/mips_ksyms.c
index 74d7373d4..57e9bedfb 100644
--- a/arch/mips/kernel/mips_ksyms.c
+++ b/arch/mips/kernel/mips_ksyms.c
@@ -1,4 +1,4 @@
-/* $Id: mips_ksyms.c,v 1.22 1999/12/04 03:59:00 ralf Exp $
+/* $Id: mips_ksyms.c,v 1.23 2000/01/29 01:41:59 ralf Exp $
*
* Export MIPS-specific functions needed for loadable modules.
*
@@ -22,7 +22,7 @@
#include <asm/floppy.h>
#include <asm/io.h>
#include <asm/page.h>
-#include <asm/pgtable.h>
+#include <asm/pgalloc.h>
#include <asm/sgi/sgihpc.h>
#include <asm/softirq.h>
#include <asm/uaccess.h>
diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c
index 92df924a5..5142258a3 100644
--- a/arch/mips/kernel/signal.c
+++ b/arch/mips/kernel/signal.c
@@ -1,4 +1,4 @@
-/* $Id: signal.c,v 1.22 1999/09/28 22:25:48 ralf Exp $
+/* $Id: signal.c,v 1.23 1999/10/09 00:00:58 ralf Exp $
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
@@ -618,7 +618,7 @@ asmlinkage int do_signal(sigset_t *oldset, struct pt_regs *regs)
case SIGQUIT: case SIGILL: case SIGTRAP:
case SIGABRT: case SIGFPE: case SIGSEGV:
- case SIGBUS:
+ case SIGBUS: case SIGSYS: case SIGXCPU: case SIGXFSZ:
if (do_coredump(signr, regs))
exit_code |= 0x80;
/* FALLTHRU */
diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c
index fbf2539c5..0f5124280 100644
--- a/arch/mips/kernel/syscall.c
+++ b/arch/mips/kernel/syscall.c
@@ -1,4 +1,4 @@
-/* $Id: syscall.c,v 1.11 1999/10/09 00:00:58 ralf Exp $
+/* $Id: syscall.c,v 1.12 1999/12/04 03:59:00 ralf Exp $
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
@@ -55,32 +55,48 @@ out:
return res;
}
-asmlinkage unsigned long sys_mmap(unsigned long addr, size_t len, int prot,
- int flags, int fd, off_t offset)
+/* common code for old and new mmaps */
+static inline long
+do_mmap2(unsigned long addr, unsigned long len, unsigned long prot,
+ unsigned long flags, unsigned long fd, unsigned long pgoff)
{
+ int error = -EBADF;
struct file * file = NULL;
- unsigned long error = -EFAULT;
- down(&current->mm->mmap_sem);
- lock_kernel();
+ flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE);
if (!(flags & MAP_ANONYMOUS)) {
- error = -EBADF;
file = fget(fd);
if (!file)
goto out;
}
- flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE);
- error = do_mmap(file, addr, len, prot, flags, offset);
- if (file)
- fput(file);
-out:
+ down(&current->mm->mmap_sem);
+ lock_kernel();
+
+ error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff);
+
unlock_kernel();
up(&current->mm->mmap_sem);
+ if (file)
+ fput(file);
+out:
return error;
}
+asmlinkage unsigned long old_mmap(unsigned long addr, size_t len, int prot,
+ int flags, int fd, off_t offset)
+{
+ return do_mmap2(addr, len, prot, flags, fd, offset >> PAGE_SHIFT);
+}
+
+asmlinkage long
+sys_mmap2(unsigned long addr, unsigned long len, unsigned long prot,
+ unsigned long flags, unsigned long fd, unsigned long pgoff)
+{
+ return do_mmap2(addr, len, prot, flags, fd, pgoff);
+}
+
asmlinkage int sys_fork(struct pt_regs regs)
{
int res;
diff --git a/arch/mips/kernel/syscalls.h b/arch/mips/kernel/syscalls.h
index 7dd03b640..be6f4691a 100644
--- a/arch/mips/kernel/syscalls.h
+++ b/arch/mips/kernel/syscalls.h
@@ -1,4 +1,4 @@
-/* $Id: syscalls.h,v 1.18 1999/10/09 00:00:58 ralf Exp $
+/* $Id: syscalls.h,v 1.19 2000/01/29 01:41:59 ralf Exp $
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
@@ -91,7 +91,7 @@ SYS(sys_sigsuspend, 0)
SYS(sys_sigpending, 1)
SYS(sys_sethostname, 2)
SYS(sys_setrlimit, 2) /* 4075 */
-SYS(sys_old_getrlimit, 2)
+SYS(sys_getrlimit, 2)
SYS(sys_getrusage, 2)
SYS(sys_gettimeofday, 2)
SYS(sys_settimeofday, 2)
@@ -105,7 +105,7 @@ SYS(sys_uselib, 1)
SYS(sys_swapon, 2)
SYS(sys_reboot, 3)
SYS(old_readdir, 3)
-SYS(sys_mmap, 6) /* 4090 */
+SYS(old_mmap, 6) /* 4090 */
SYS(sys_munmap, 2)
SYS(sys_truncate, 2)
SYS(sys_ftruncate, 2)
@@ -225,4 +225,6 @@ SYS(sys_sigaltstack, 0)
SYS(sys_sendfile, 3)
SYS(sys_ni_syscall, 0)
SYS(sys_ni_syscall, 0)
-SYS(sys_getrlimit, 2) /* 4210 */
+SYS(sys_mmap2, 6) /* 4210 */
+SYS(sys_truncate64, 2)
+SYS(sys_ftruncate64, 2)
diff --git a/arch/mips/kernel/sysirix.c b/arch/mips/kernel/sysirix.c
index db3a04665..acec2b569 100644
--- a/arch/mips/kernel/sysirix.c
+++ b/arch/mips/kernel/sysirix.c
@@ -1,4 +1,4 @@
-/* $Id: sysirix.c,v 1.21 1999/10/09 00:00:58 ralf Exp $
+/* $Id: sysirix.c,v 1.22 1999/12/04 03:59:00 ralf Exp $
*
* sysirix.c: IRIX system call emulation.
*
@@ -1103,21 +1103,20 @@ asmlinkage unsigned long irix_mmap32(unsigned long addr, size_t len, int prot,
struct file *file = NULL;
unsigned long retval;
- down(&current->mm->mmap_sem);
lock_kernel();
- if(!(flags & MAP_ANONYMOUS)) {
- if(!(file = fget(fd))) {
+ if (!(flags & MAP_ANONYMOUS)) {
+ if (!(file = fget(fd))) {
retval = -EBADF;
goto out;
}
/* Ok, bad taste hack follows, try to think in something else
* when reading this. */
- if (flags & IRIX_MAP_AUTOGROW){
+ if (flags & IRIX_MAP_AUTOGROW) {
unsigned long old_pos;
long max_size = offset + len;
- if (max_size > file->f_dentry->d_inode->i_size){
+ if (max_size > file->f_dentry->d_inode->i_size) {
old_pos = sys_lseek (fd, max_size - 1, 0);
sys_write (fd, "", 1);
sys_lseek (fd, old_pos, 0);
@@ -1133,7 +1132,6 @@ asmlinkage unsigned long irix_mmap32(unsigned long addr, size_t len, int prot,
out:
unlock_kernel();
- up(&current->mm->mmap_sem);
return retval;
}
@@ -1693,10 +1691,9 @@ sys_mmap(unsigned long addr, size_t len, int prot, int flags, int fd,
asmlinkage int irix_mmap64(struct pt_regs *regs)
{
int len, prot, flags, fd, off1, off2, error, base = 0;
- unsigned long addr, *sp;
- struct file *file;
+ unsigned long addr, pgoff, *sp;
+ struct file *file = NULL;
- down(&current->mm->mmap_sem);
lock_kernel();
if (regs->regs[2] == 1000)
base = 1;
@@ -1721,34 +1718,46 @@ asmlinkage int irix_mmap64(struct pt_regs *regs)
__get_user(off1, &sp[2]);
__get_user(off2, &sp[3]);
}
- if (off1) {
- error = -EINVAL;
+
+ if (off1 & PAGE_MASK) {
+ error = -EOVERFLOW;
goto out;
}
+ pgoff = (off1 << (32 - PAGE_SHIFT)) | (off2 >> PAGE_SHIFT);
+
if (!(flags & MAP_ANONYMOUS)) {
- if(!(file = fcheck(fd))) {
+ if (!(file = fcheck(fd))) {
error = -EBADF;
goto out;
}
- /* Ok, bad taste hack follows, try to think in something else when reading this */
- if (flags & IRIX_MAP_AUTOGROW){
+ /* Ok, bad taste hack follows, try to think in something else
+ when reading this */
+ if (flags & IRIX_MAP_AUTOGROW) {
unsigned long old_pos;
long max_size = off2 + len;
- if (max_size > file->f_dentry->d_inode->i_size){
+ if (max_size > file->f_dentry->d_inode->i_size) {
old_pos = sys_lseek (fd, max_size - 1, 0);
sys_write (fd, "", 1);
sys_lseek (fd, old_pos, 0);
}
}
}
-
- error = sys_mmap(addr, (size_t) len, prot, flags, fd, off2);
+
+ flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE);
+
+ down(&current->mm->mmap_sem);
+ error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff);
+ up(&current->mm->mmap_sem);
+
+ if (file)
+ fput(file);
out:
unlock_kernel();
+
return error;
}
diff --git a/arch/mips/mm/fault.c b/arch/mips/mm/fault.c
index a6416c4ca..cfcfc9c8b 100644
--- a/arch/mips/mm/fault.c
+++ b/arch/mips/mm/fault.c
@@ -1,4 +1,4 @@
-/* $Id: fault.c,v 1.13 1999/10/09 00:00:58 ralf Exp $
+/* $Id: fault.c,v 1.14 1999/12/04 03:59:00 ralf Exp $
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
@@ -21,7 +21,7 @@
#include <linux/version.h>
#include <asm/hardirq.h>
-#include <asm/pgtable.h>
+#include <asm/pgalloc.h>
#include <asm/mmu_context.h>
#include <asm/softirq.h>
#include <asm/system.h>
diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c
index afd1c6b70..8420085e0 100644
--- a/arch/mips/mm/init.c
+++ b/arch/mips/mm/init.c
@@ -1,4 +1,4 @@
-/* $Id: init.c,v 1.23 2000/01/27 23:45:25 ralf Exp $
+/* $Id: init.c,v 1.24 2000/01/29 01:41:59 ralf Exp $
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
@@ -33,6 +33,7 @@
#include <asm/jazzdma.h>
#include <asm/system.h>
#include <asm/pgtable.h>
+#include <asm/pgalloc.h>
#ifdef CONFIG_SGI_IP22
#include <asm/sgialib.h>
#endif
@@ -249,15 +250,22 @@ extern char __init_begin, __init_end;
void __init paging_init(void)
{
- unsigned int zones_size[2];
+ unsigned int zones_size[MAX_NR_ZONES] = {0, 0, 0};
+ unsigned long max_dma, low;
/* Initialize the entire pgd. */
pgd_init((unsigned long)swapper_pg_dir);
pgd_init((unsigned long)swapper_pg_dir + PAGE_SIZE / 2);
- return free_area_init(max_low_pfn);
- zones_size[0] = virt_to_phys((char *)MAX_DMA_ADDRESS) >> PAGE_SHIFT;
- zones_size[1] = max_low_pfn - zones_size[0];
+ max_dma = virt_to_phys((char *)MAX_DMA_ADDRESS) >> PAGE_SHIFT;
+ low = max_low_pfn;
+
+ if (low < max_dma)
+ zones_size[ZONE_DMA] = low;
+ else {
+ zones_size[ZONE_DMA] = max_dma;
+ zones_size[ZONE_NORMAL] = low - max_dma;
+ }
free_area_init(zones_size);
}
@@ -287,7 +295,7 @@ void __init mem_init(void)
datasize = (unsigned long) &_edata - (unsigned long) &_fdata;
initsize = (unsigned long) &__init_end - (unsigned long) &__init_begin;
- printk("Memory: %uk/%luk available (%ldk kernel code, %ldk reserved, "
+ printk("Memory: %luk/%luk available (%ldk kernel code, %ldk reserved, "
"%ldk data, %ldk init)\n",
(unsigned long) nr_free_pages() << (PAGE_SHIFT-10),
ram << (PAGE_SHIFT-10),
@@ -297,6 +305,19 @@ void __init mem_init(void)
initsize >> 10);
}
+#ifdef CONFIG_BLK_DEV_INITRD
+void free_initrd_mem(unsigned long start, unsigned long end)
+{
+ for (; start < end; start += PAGE_SIZE) {
+ ClearPageReserved(mem_map + MAP_NR(start));
+ set_page_count(mem_map+MAP_NR(start), 1);
+ free_page(start);
+ totalram_pages++;
+ }
+ printk ("Freeing initrd memory: %ldk freed\n", (end - start) >> 10);
+}
+#endif
+
extern char __init_begin, __init_end;
extern void prom_free_prom_memory(void);
diff --git a/arch/mips/mm/umap.c b/arch/mips/mm/umap.c
index 3ca4424eb..2024e9dce 100644
--- a/arch/mips/mm/umap.c
+++ b/arch/mips/mm/umap.c
@@ -26,7 +26,7 @@
#include <linux/swap.h>
#include <asm/system.h>
-#include <asm/pgtable.h>
+#include <asm/pgalloc.h>
#include <asm/page.h>
static inline void
diff --git a/arch/mips/sgi/kernel/indy_int.c b/arch/mips/sgi/kernel/indy_int.c
index 971cbdcea..916b0873a 100644
--- a/arch/mips/sgi/kernel/indy_int.c
+++ b/arch/mips/sgi/kernel/indy_int.c
@@ -1,4 +1,4 @@
-/* $Id: indy_int.c,v 1.15 1999/10/21 00:23:05 ralf Exp $
+/* $Id: indy_int.c,v 1.16 1999/12/04 03:59:00 ralf Exp $
*
* indy_int.c: Routines for generic manipulation of the INT[23] ASIC
* found on INDY workstations..
@@ -272,7 +272,7 @@ asmlinkage void do_IRQ(int irq, struct pt_regs * regs)
int do_random, cpu;
cpu = smp_processor_id();
- hardirq_enter(cpu);
+ irq_enter(cpu);
kstat.irqs[0][irq]++;
printk("Got irq %d, press a key.", irq);
@@ -308,7 +308,7 @@ asmlinkage void do_IRQ(int irq, struct pt_regs * regs)
add_interrupt_randomness(irq);
__cli();
}
- hardirq_exit(cpu);
+ irq_exit(cpu);
/* unmasking and bottom half handling is done magically for us. */
}
@@ -451,10 +451,10 @@ void indy_local0_irqdispatch(struct pt_regs *regs)
/* if action == NULL, then we do have a handler for the irq */
if ( action == NULL ) { goto no_handler; }
- hardirq_enter(cpu);
+ irq_enter(cpu);
kstat.irqs[0][irq + 16]++;
action->handler(irq, action->dev_id, regs);
- hardirq_exit(cpu);
+ irq_exit(cpu);
goto end;
no_handler:
@@ -489,10 +489,10 @@ void indy_local1_irqdispatch(struct pt_regs *regs)
/* if action == NULL, then we do have a handler for the irq */
if ( action == NULL ) { goto no_handler; }
- hardirq_enter(cpu);
+ irq_enter(cpu);
kstat.irqs[0][irq + 24]++;
action->handler(irq, action->dev_id, regs);
- hardirq_exit(cpu);
+ irq_exit(cpu);
goto end;
no_handler:
@@ -507,13 +507,13 @@ void indy_buserror_irq(struct pt_regs *regs)
int cpu = smp_processor_id();
int irq = 6;
- hardirq_enter(cpu);
+ irq_enter(cpu);
kstat.irqs[0][irq]++;
printk("Got a bus error IRQ, shouldn't happen yet\n");
show_regs(regs);
printk("Spinning...\n");
while(1);
- hardirq_exit(cpu);
+ irq_exit(cpu);
}
/* Misc. crap just to keep the kernel linking... */
diff --git a/arch/mips/sgi/kernel/indy_timer.c b/arch/mips/sgi/kernel/indy_timer.c
index 00c1c3c68..3306cdc25 100644
--- a/arch/mips/sgi/kernel/indy_timer.c
+++ b/arch/mips/sgi/kernel/indy_timer.c
@@ -1,4 +1,4 @@
-/* $Id: indy_timer.c,v 1.16 2000/01/17 23:32:46 ralf Exp $
+/* $Id: indy_timer.c,v 1.17 2000/01/21 22:34:03 ralf Exp $
*
* indy_timer.c: Setting up the clock on the INDY 8254 controller.
*
@@ -269,12 +269,12 @@ void indy_8254timer_irq(void)
int cpu = smp_processor_id();
int irq = 4;
- hardirq_enter(cpu);
+ irq_enter(cpu);
kstat.irqs[0][irq]++;
printk("indy_8254timer_irq: Whoops, should not have gotten this IRQ\n");
prom_getchar();
prom_imode();
- hardirq_exit(cpu);
+ irq_exit(cpu);
}
void do_gettimeofday(struct timeval *tv)