summaryrefslogtreecommitdiffstats
path: root/arch/mips64
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-02-04 07:40:19 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-02-04 07:40:19 +0000
commit33263fc5f9ac8e8cb2b22d06af3ce5ac1dd815e4 (patch)
tree2d1b86a40bef0958a68cf1a2eafbeb0667a70543 /arch/mips64
parent216f5f51aa02f8b113aa620ebc14a9631a217a00 (diff)
Merge with Linux 2.3.32.
Diffstat (limited to 'arch/mips64')
-rw-r--r--arch/mips64/config.in8
-rw-r--r--arch/mips64/defconfig33
-rw-r--r--arch/mips64/defconfig-ip2240
-rw-r--r--arch/mips64/defconfig-ip2733
-rw-r--r--arch/mips64/kernel/mips64_ksyms.c4
-rw-r--r--arch/mips64/kernel/scall_o32.S5
-rw-r--r--arch/mips64/kernel/setup.c3
-rw-r--r--arch/mips64/kernel/signal.c6
-rw-r--r--arch/mips64/kernel/syscall.c4
-rw-r--r--arch/mips64/mm/fault.c4
-rw-r--r--arch/mips64/mm/init.c32
-rw-r--r--arch/mips64/mm/umap.c4
-rw-r--r--arch/mips64/sgi-ip22/ip22-int.c18
-rw-r--r--arch/mips64/sgi-ip22/ip22-timer.c6
-rw-r--r--arch/mips64/sgi-ip27/ip27-irq.c6
-rw-r--r--arch/mips64/sgi-ip27/ip27-pci.c4
16 files changed, 120 insertions, 90 deletions
diff --git a/arch/mips64/config.in b/arch/mips64/config.in
index dafaf16c8..c1c3d59cf 100644
--- a/arch/mips64/config.in
+++ b/arch/mips64/config.in
@@ -1,4 +1,4 @@
-# $Id: config.in,v 1.9 2000/01/29 01:41:59 ralf Exp $
+# $Id: config.in,v 1.10 2000/01/31 21:57:09 kanoj Exp $
#
# For a description of the syntax of this configuration file,
# see the Configure script.
@@ -72,6 +72,10 @@ fi
bool 'Generate little endian code' CONFIG_CPU_LITTLE_ENDIAN
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
@@ -90,6 +94,8 @@ if [ "$CONFIG_MODULES" = "y" ]; then
bool 'Kernel module loader' CONFIG_KMOD
fi
+source drivers/pci/Config.in
+
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
bool 'Support for frame buffer devices (EXPERIMENTAL)' CONFIG_FB
fi
diff --git a/arch/mips64/defconfig b/arch/mips64/defconfig
index 2c16a969c..5d6d9f3d5 100644
--- a/arch/mips64/defconfig
+++ b/arch/mips64/defconfig
@@ -35,6 +35,12 @@ CONFIG_CPU_R10000=y
# CONFIG_MIPS_INSANE_LARGE is not set
# CONFIG_CPU_LITTLE_ENDIAN is not set
CONFIG_NET=y
+CONFIG_PCI_NAMES=y
+
+#
+# PCMCIA/CardBus support
+#
+# CONFIG_PCMCIA is not set
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_SYSCTL is not set
@@ -47,6 +53,7 @@ CONFIG_BINFMT_ELF32=y
# Loadable module support
#
# CONFIG_MODULES is not set
+CONFIG_PCI_NAMES=y
#
# Block devices
@@ -205,6 +212,12 @@ CONFIG_SGI_IOC3_ETH=y
# CONFIG_NET_ISA is not set
# CONFIG_NET_EISA is not set
# CONFIG_NET_POCKET is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_SK98LIN is not set
# CONFIG_FDDI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
@@ -227,11 +240,6 @@ CONFIG_SGI_IOC3_ETH=y
# CONFIG_WAN is not set
#
-# PCMCIA network device support
-#
-# CONFIG_NET_PCMCIA is not set
-
-#
# Amateur Radio support
#
# CONFIG_HAMRADIO is not set
@@ -281,11 +289,6 @@ CONFIG_SERIAL_CONSOLE=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
@@ -294,9 +297,11 @@ CONFIG_SERIAL_CONSOLE=y
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
+# CONFIG_DRM is not set
+# CONFIG_DRM_TDFX is not set
#
-# USB drivers - not for the faint of heart
+# Support for USB
#
# CONFIG_USB is not set
@@ -306,14 +311,12 @@ CONFIG_SERIAL_CONSOLE=y
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
# CONFIG_FAT_FS is not set
# CONFIG_MSDOS_FS is not set
# CONFIG_UMSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_ISO9660_FS is not set
# 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
@@ -321,6 +324,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
#
@@ -340,9 +344,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/mips64/defconfig-ip22 b/arch/mips64/defconfig-ip22
index fb7026b19..ebd6cb9d1 100644
--- a/arch/mips64/defconfig-ip22
+++ b/arch/mips64/defconfig-ip22
@@ -32,6 +32,11 @@ CONFIG_CPU_R5000=y
#
# CONFIG_CPU_LITTLE_ENDIAN 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 is not set
@@ -130,6 +135,12 @@ CONFIG_NETDEVICES=y
# Ethernet (10 or 100Mbit)
#
# CONFIG_NET_ETHERNET is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_SK98LIN is not set
# CONFIG_FDDI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
@@ -150,11 +161,6 @@ CONFIG_NETDEVICES=y
# Wan interfaces
#
# CONFIG_WAN is not set
-
-#
-# PCMCIA network device support
-#
-# CONFIG_NET_PCMCIA is not set
CONFIG_SGISEEQ=y
#
@@ -194,6 +200,11 @@ CONFIG_VT_CONSOLE=y
#
# CONFIG_BUSMOUSE is not set
# CONFIG_MOUSE is not set
+
+#
+# Joysticks
+#
+# CONFIG_JOYSTICK is not set
# CONFIG_QIC02_TAPE is not set
#
@@ -207,11 +218,6 @@ CONFIG_VT_CONSOLE=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
@@ -220,13 +226,11 @@ CONFIG_VT_CONSOLE=y
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
+# CONFIG_DRM is not set
+# CONFIG_DRM_TDFX is not set
#
-# PCMCIA character device support
-#
-
-#
-# USB drivers - not for the faint of heart
+# Support for USB
#
# CONFIG_USB is not set
@@ -236,14 +240,12 @@ CONFIG_VT_CONSOLE=y
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
# CONFIG_FAT_FS is not set
# CONFIG_MSDOS_FS is not set
# CONFIG_UMSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_ISO9660_FS is not set
# 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
@@ -251,6 +253,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
#
@@ -270,9 +273,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_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
diff --git a/arch/mips64/defconfig-ip27 b/arch/mips64/defconfig-ip27
index 2c16a969c..5d6d9f3d5 100644
--- a/arch/mips64/defconfig-ip27
+++ b/arch/mips64/defconfig-ip27
@@ -35,6 +35,12 @@ CONFIG_CPU_R10000=y
# CONFIG_MIPS_INSANE_LARGE is not set
# CONFIG_CPU_LITTLE_ENDIAN is not set
CONFIG_NET=y
+CONFIG_PCI_NAMES=y
+
+#
+# PCMCIA/CardBus support
+#
+# CONFIG_PCMCIA is not set
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_SYSCTL is not set
@@ -47,6 +53,7 @@ CONFIG_BINFMT_ELF32=y
# Loadable module support
#
# CONFIG_MODULES is not set
+CONFIG_PCI_NAMES=y
#
# Block devices
@@ -205,6 +212,12 @@ CONFIG_SGI_IOC3_ETH=y
# CONFIG_NET_ISA is not set
# CONFIG_NET_EISA is not set
# CONFIG_NET_POCKET is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_SK98LIN is not set
# CONFIG_FDDI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
@@ -227,11 +240,6 @@ CONFIG_SGI_IOC3_ETH=y
# CONFIG_WAN is not set
#
-# PCMCIA network device support
-#
-# CONFIG_NET_PCMCIA is not set
-
-#
# Amateur Radio support
#
# CONFIG_HAMRADIO is not set
@@ -281,11 +289,6 @@ CONFIG_SERIAL_CONSOLE=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
@@ -294,9 +297,11 @@ CONFIG_SERIAL_CONSOLE=y
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
+# CONFIG_DRM is not set
+# CONFIG_DRM_TDFX is not set
#
-# USB drivers - not for the faint of heart
+# Support for USB
#
# CONFIG_USB is not set
@@ -306,14 +311,12 @@ CONFIG_SERIAL_CONSOLE=y
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
# CONFIG_FAT_FS is not set
# CONFIG_MSDOS_FS is not set
# CONFIG_UMSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_ISO9660_FS is not set
# 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
@@ -321,6 +324,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
#
@@ -340,9 +344,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/mips64/kernel/mips64_ksyms.c b/arch/mips64/kernel/mips64_ksyms.c
index d0647e4c5..4fc755e39 100644
--- a/arch/mips64/kernel/mips64_ksyms.c
+++ b/arch/mips64/kernel/mips64_ksyms.c
@@ -1,4 +1,4 @@
-/* $Id: mips64_ksyms.c,v 1.5 2000/01/17 23:32:46 ralf Exp $
+/* $Id: mips64_ksyms.c,v 1.6 2000/01/29 01:41:59 ralf Exp $
*
* Export MIPS64-specific functions needed for loadable modules.
*
@@ -23,7 +23,7 @@
#include <asm/floppy.h>
#include <asm/io.h>
#include <asm/page.h>
-#include <asm/pgtable.h>
+#include <asm/pgalloc.h>
#include <asm/softirq.h>
#include <asm/uaccess.h>
diff --git a/arch/mips64/kernel/scall_o32.S b/arch/mips64/kernel/scall_o32.S
index f33a4afb2..f7490a4be 100644
--- a/arch/mips64/kernel/scall_o32.S
+++ b/arch/mips64/kernel/scall_o32.S
@@ -1,4 +1,4 @@
-/* $Id: scall_o32.S,v 1.3 2000/01/17 23:32:46 ralf Exp $
+/* $Id: scall_o32.S,v 1.4 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
@@ -402,6 +402,9 @@ illegal_syscall:
sys sys_ni_syscall 0
sys sys_ni_syscall 0
sys sys_getrlimit 2 /* 4210 */
+ sys sys_mmap2 6
+ sys sys_truncate64 2
+ sys sys_ftruncate64 2
.endm
.macro sys function, nargs
diff --git a/arch/mips64/kernel/setup.c b/arch/mips64/kernel/setup.c
index 35e5cb1dd..b42271b47 100644
--- a/arch/mips64/kernel/setup.c
+++ b/arch/mips64/kernel/setup.c
@@ -1,4 +1,4 @@
-/* $Id: setup.c,v 1.3 1999/10/19 20:51:46 ralf Exp $
+/* $Id: setup.c,v 1.6 2000/01/27 01:05:24 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
@@ -93,7 +93,6 @@ unsigned char aux_device_present;
extern int _end;
extern void load_mmu(void);
-extern char empty_zero_page[PAGE_SIZE];
static char command_line[CL_SIZE] = { 0, };
char saved_command_line[CL_SIZE];
diff --git a/arch/mips64/kernel/signal.c b/arch/mips64/kernel/signal.c
index bc21e4d4c..7823efb3b 100644
--- a/arch/mips64/kernel/signal.c
+++ b/arch/mips64/kernel/signal.c
@@ -1,4 +1,4 @@
-/* $Id: signal.c,v 1.5 1999/10/19 20:51:46 ralf Exp $
+/* $Id: signal.c,v 1.4 2000/01/17 23:32:46 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
@@ -22,7 +22,7 @@
#include <asm/asm.h>
#include <asm/bitops.h>
-#include <asm/pgtable.h>
+#include <asm/pgalloc.h>
#include <asm/stackframe.h>
#include <asm/uaccess.h>
#include <asm/ucontext.h>
@@ -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/mips64/kernel/syscall.c b/arch/mips64/kernel/syscall.c
index 8273d5285..67d84f874 100644
--- a/arch/mips64/kernel/syscall.c
+++ b/arch/mips64/kernel/syscall.c
@@ -1,4 +1,4 @@
-/* $Id: syscall.c,v 1.1 1999/12/04 03:59:00 ralf Exp $
+/* $Id: syscall.c,v 1.2 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
@@ -25,7 +25,7 @@
#include <asm/ipc.h>
#include <asm/cachectl.h>
#include <asm/offset.h>
-#include <asm/pgtable.h>
+#include <asm/pgalloc.h>
#include <asm/ptrace.h>
#include <asm/signal.h>
#include <asm/stackframe.h>
diff --git a/arch/mips64/mm/fault.c b/arch/mips64/mm/fault.c
index b7091a83d..772aa0475 100644
--- a/arch/mips64/mm/fault.c
+++ b/arch/mips64/mm/fault.c
@@ -1,4 +1,4 @@
-/* $Id: fault.c,v 1.5 1999/11/23 17:12:50 ralf Exp $
+/* $Id: fault.c,v 1.4 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
@@ -22,7 +22,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/mips64/mm/init.c b/arch/mips64/mm/init.c
index 06b047ef9..e788d3b36 100644
--- a/arch/mips64/mm/init.c
+++ b/arch/mips64/mm/init.c
@@ -1,4 +1,4 @@
-/* $Id: init.c,v 1.9 2000/01/27 23:45:25 ralf Exp $
+/* $Id: init.c,v 1.10 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
@@ -32,6 +32,7 @@
#include <asm/dma.h>
#include <asm/system.h>
#include <asm/pgtable.h>
+#include <asm/pgalloc.h>
#ifdef CONFIG_SGI_IP22
#include <asm/sgialib.h>
#endif
@@ -343,15 +344,23 @@ 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);
pmd_init((unsigned long)invalid_pmd_table);
- 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);
}
@@ -381,7 +390,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),
@@ -391,6 +400,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/mips64/mm/umap.c b/arch/mips64/mm/umap.c
index 5fefe091d..b8ae542cc 100644
--- a/arch/mips64/mm/umap.c
+++ b/arch/mips64/mm/umap.c
@@ -1,4 +1,4 @@
-/* $Id: umap.c,v 1.3 2000/01/27 01:05:24 ralf Exp $
+/* $Id: umap.c,v 1.4 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
@@ -21,7 +21,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/mips64/sgi-ip22/ip22-int.c b/arch/mips64/sgi-ip22/ip22-int.c
index 765c90da1..420e47fc7 100644
--- a/arch/mips64/sgi-ip22/ip22-int.c
+++ b/arch/mips64/sgi-ip22/ip22-int.c
@@ -1,4 +1,4 @@
-/* $Id: ip22-int.c,v 1.4 1999/11/19 20:35:23 ralf Exp $
+/* $Id: ip22-int.c,v 1.3 1999/12/04 03:59:01 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. */
}
@@ -433,10 +433,10 @@ void indy_local0_irqdispatch(struct pt_regs *regs)
action = local_irq_action[irq];
}
- hardirq_enter(cpu);
+ irq_enter(cpu);
kstat.irqs[0][irq + 16]++;
action->handler(irq, action->dev_id, regs);
- hardirq_exit(cpu);
+ irq_exit(cpu);
}
void indy_local1_irqdispatch(struct pt_regs *regs)
@@ -457,10 +457,10 @@ void indy_local1_irqdispatch(struct pt_regs *regs)
irq = lc1msk_to_irqnr[mask];
action = local_irq_action[irq];
}
- hardirq_enter(cpu);
+ irq_enter(cpu);
kstat.irqs[0][irq + 24]++;
action->handler(irq, action->dev_id, regs);
- hardirq_exit(cpu);
+ irq_exit(cpu);
}
void indy_buserror_irq(struct pt_regs *regs)
@@ -468,13 +468,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/mips64/sgi-ip22/ip22-timer.c b/arch/mips64/sgi-ip22/ip22-timer.c
index c5e038b72..cda6076e2 100644
--- a/arch/mips64/sgi-ip22/ip22-timer.c
+++ b/arch/mips64/sgi-ip22/ip22-timer.c
@@ -1,4 +1,4 @@
-/* $Id: ip22-timer.c,v 1.3 1999/10/19 20:51:52 ralf Exp $
+/* $Id: ip22-timer.c,v 1.5 2000/01/21 22:34:03 ralf Exp $
*
* indy_timer.c: Setting up the clock on the INDY 8254 controller.
*
@@ -267,12 +267,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();
ArcEnterInteractiveMode();
- hardirq_exit(cpu);
+ irq_exit(cpu);
}
void do_gettimeofday(struct timeval *tv)
diff --git a/arch/mips64/sgi-ip27/ip27-irq.c b/arch/mips64/sgi-ip27/ip27-irq.c
index 0b936017d..a7869a602 100644
--- a/arch/mips64/sgi-ip27/ip27-irq.c
+++ b/arch/mips64/sgi-ip27/ip27-irq.c
@@ -1,4 +1,4 @@
-/* $Id$
+/* $Id: ip27-irq.c,v 1.4 2000/01/31 19:48:11 kanoj Exp $
*
* ip27-irq.c: Highlevel interrupt handling for IP27 architecture.
*
@@ -88,7 +88,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);
@@ -106,7 +106,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/mips64/sgi-ip27/ip27-pci.c b/arch/mips64/sgi-ip27/ip27-pci.c
index c92230662..45e9cd649 100644
--- a/arch/mips64/sgi-ip27/ip27-pci.c
+++ b/arch/mips64/sgi-ip27/ip27-pci.c
@@ -172,7 +172,6 @@ void __init
pcibios_fixup_bus(struct pci_bus *b)
{
unsigned short command;
- struct list_head *ln;
struct pci_dev *dev;
pci_fixup_irqs(pci_swizzle, pci_map_irq);
@@ -183,8 +182,7 @@ pcibios_fixup_bus(struct pci_bus *b)
* stop working if we program the controllers as not having
* PCI_COMMAND_MEMORY, so we have to fudge the mem_flags.
*/
- for (ln=b->devices.next; ln != &b->devices; ln=ln->next) {
- dev = pci_dev_b(ln);
+ for (dev = b->devices; dev; dev = dev->sibling) {
if (PCI_FUNC(dev->devfn) == 0) {
if ((PCI_SLOT(dev->devfn) == 0) ||
(PCI_SLOT(dev->devfn) == 1)) {