diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-11-23 02:00:47 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-11-23 02:00:47 +0000 |
commit | 06615f62b17d7de6e12d2f5ec6b88cf30af08413 (patch) | |
tree | 8766f208847d4876a6db619aebbf54d53b76eb44 /arch/sparc64 | |
parent | fa9bdb574f4febb751848a685d9a9017e04e1d53 (diff) |
Merge with Linux 2.4.0-test10.
Diffstat (limited to 'arch/sparc64')
-rw-r--r-- | arch/sparc64/config.in | 11 | ||||
-rw-r--r-- | arch/sparc64/defconfig | 20 | ||||
-rw-r--r-- | arch/sparc64/kernel/ioctl32.c | 15 | ||||
-rw-r--r-- | arch/sparc64/kernel/pci.c | 2 | ||||
-rw-r--r-- | arch/sparc64/kernel/semaphore.c | 4 | ||||
-rw-r--r-- | arch/sparc64/kernel/setup.c | 32 | ||||
-rw-r--r-- | arch/sparc64/kernel/smp.c | 11 | ||||
-rw-r--r-- | arch/sparc64/kernel/sparc64_ksyms.c | 17 | ||||
-rw-r--r-- | arch/sparc64/kernel/starfire.c | 9 | ||||
-rw-r--r-- | arch/sparc64/kernel/sys_sparc32.c | 18 | ||||
-rw-r--r-- | arch/sparc64/mm/init.c | 4 | ||||
-rw-r--r-- | arch/sparc64/solaris/socksys.c | 4 |
12 files changed, 87 insertions, 60 deletions
diff --git a/arch/sparc64/config.in b/arch/sparc64/config.in index c49a87ebf..a754b796b 100644 --- a/arch/sparc64/config.in +++ b/arch/sparc64/config.in @@ -1,4 +1,4 @@ -# $Id: config.in,v 1.121 2000/08/23 05:59:28 davem Exp $ +# $Id: config.in,v 1.125 2000/10/10 01:05:53 davem Exp $ # For a description of the syntax of this configuration file, # see the Configure script. # @@ -89,12 +89,7 @@ bool 'Normal floppy disk support' CONFIG_BLK_DEV_FD tristate 'Loopback device support' CONFIG_BLK_DEV_LOOP dep_tristate 'Network block device support' CONFIG_BLK_DEV_NBD $CONFIG_NET -#tristate 'Logical volume manager (LVM) support' CONFIG_BLK_DEV_LVM N -#if [ "$CONFIG_BLK_DEV_LVM" != "n" ]; then -# bool ' LVM information in proc filesystem' CONFIG_LVM_PROC_FS Y -#fi - -include drivers/md/Config.in +source drivers/md/Config.in tristate 'RAM disk support' CONFIG_BLK_DEV_RAM if [ "$CONFIG_BLK_DEV_RAM" = "y" -o "$CONFIG_BLK_DEV_RAM" = "m" ]; then @@ -166,7 +161,7 @@ if [ "$CONFIG_SCSI" != "n" ]; then if [ "$CONFIG_PCI" != "n" ]; then dep_tristate 'Adaptec AIC7xxx support' CONFIG_SCSI_AIC7XXX $CONFIG_SCSI if [ "$CONFIG_SCSI_AIC7XXX" != "n" ]; then - bool ' Enable tagged command queueing (TCQ) by default' CONFIG_AIC7XXX_TAGGED_QUEUEING Y + bool ' Enable tagged command queueing (TCQ) by default' CONFIG_AIC7XXX_TAGGED_QUEUEING int ' Maximum number of TCQ commands per device' CONFIG_AIC7XXX_CMDS_PER_DEVICE 8 bool ' Collect statistics to report in /proc' CONFIG_AIC7XXX_PROC_STATS N int ' Delay in seconds after SCSI bus reset' CONFIG_AIC7XXX_RESET_DELAY 5 diff --git a/arch/sparc64/defconfig b/arch/sparc64/defconfig index b2088bc86..7c2f852b3 100644 --- a/arch/sparc64/defconfig +++ b/arch/sparc64/defconfig @@ -138,10 +138,18 @@ CONFIG_SPARCAUDIO_CS4231=y CONFIG_BLK_DEV_FD=y CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_NBD=m -CONFIG_BLK_DEV_MD=m -CONFIG_MD_LINEAR=m -CONFIG_MD_RAID0=m -CONFIG_MD_RAID1=m + +# +# Multi-device support (RAID and LVM) +# +# CONFIG_MD is not set +# CONFIG_BLK_DEV_MD is not set +# CONFIG_MD_LINEAR is not set +# CONFIG_MD_RAID0 is not set +# CONFIG_MD_RAID1 is not set +# CONFIG_MD_RAID5 is not set +# CONFIG_BLK_DEV_LVM is not set +# CONFIG_LVM_PROC_FS is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_BLK_DEV_INITRD is not set @@ -181,6 +189,7 @@ CONFIG_DECNET_SIOCGIFCONF=y # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_LLC is not set +# CONFIG_NET_DIVERT is not set # CONFIG_ECONET is not set # CONFIG_WAN_ROUTER is not set # CONFIG_NET_FASTROUTE is not set @@ -254,10 +263,11 @@ CONFIG_BLK_DEV_NS87415=y # CONFIG_BLK_DEV_OPTI621 is not set # CONFIG_BLK_DEV_PDC202XX is not set # CONFIG_PDC202XX_BURST is not set +# CONFIG_BLK_DEV_OSB4 is not set # CONFIG_BLK_DEV_SIS5513 is not set +# CONFIG_BLK_DEV_SLC90E66 is not set # CONFIG_BLK_DEV_TRM290 is not set # CONFIG_BLK_DEV_VIA82CXXX is not set -# CONFIG_VIA82CXXX_TUNING is not set # CONFIG_IDE_CHIPSETS is not set CONFIG_IDEDMA_AUTO=y # CONFIG_IDEDMA_IVB is not set diff --git a/arch/sparc64/kernel/ioctl32.c b/arch/sparc64/kernel/ioctl32.c index 84b4224e5..9f7cd59e9 100644 --- a/arch/sparc64/kernel/ioctl32.c +++ b/arch/sparc64/kernel/ioctl32.c @@ -1,4 +1,4 @@ -/* $Id: ioctl32.c,v 1.98 2000/08/16 12:33:00 davem Exp $ +/* $Id: ioctl32.c,v 1.99 2000/10/17 16:20:33 davem Exp $ * ioctl32.c: Conversion between 32bit and 64bit native ioctls. * * Copyright (C) 1997-2000 Jakub Jelinek (jakub@redhat.com) @@ -3221,9 +3221,16 @@ COMPATIBLE_IOCTL(_IOR('v' , BASE_VIDIOCPRIVATE+7, int)) /* Little p (/dev/rtc, /dev/envctrl, etc.) */ COMPATIBLE_IOCTL(RTCGET) COMPATIBLE_IOCTL(RTCSET) -COMPATIBLE_IOCTL(I2CIOCSADR) -COMPATIBLE_IOCTL(I2CIOCGADR) -COMPATIBLE_IOCTL(D7SIOCRD) +COMPATIBLE_IOCTL(ENVCTRL_RD_WARNING_TEMPERATURE) +COMPATIBLE_IOCTL(ENVCTRL_RD_SHUTDOWN_TEMPERATURE) +COMPATIBLE_IOCTL(ENVCTRL_RD_CPU_TEMPERATURE) +COMPATIBLE_IOCTL(ENVCTRL_RD_FAN_STATUS) +COMPATIBLE_IOCTL(ENVCTRL_RD_VOLTAGE_STATUS) +COMPATIBLE_IOCTL(ENVCTRL_RD_SCSI_TEMPERATURE) +COMPATIBLE_IOCTL(ENVCTRL_RD_ETHERNET_TEMPERATURE) +COMPATIBLE_IOCTL(ENVCTRL_RD_MTHRBD_TEMPERATURE) +COMPATIBLE_IOCTL(ENVCTRL_RD_CPU_VOLTAGE) +/* COMPATIBLE_IOCTL(D7SIOCRD) same value as ENVCTRL_RD_VOLTAGE_STATUS */ COMPATIBLE_IOCTL(D7SIOCWR) COMPATIBLE_IOCTL(D7SIOCTM) /* Little m */ diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c index 24b1a7217..dd153a24e 100644 --- a/arch/sparc64/kernel/pci.c +++ b/arch/sparc64/kernel/pci.c @@ -1,4 +1,4 @@ -/* $Id: pci.c,v 1.17 2000/09/05 06:49:44 anton Exp $ +/* $Id: pci.c,v 1.18 2000/10/03 11:31:42 anton Exp $ * pci.c: UltraSparc PCI controller support. * * Copyright (C) 1997, 1998, 1999 David S. Miller (davem@redhat.com) diff --git a/arch/sparc64/kernel/semaphore.c b/arch/sparc64/kernel/semaphore.c index 0919089ef..8cb6e7211 100644 --- a/arch/sparc64/kernel/semaphore.c +++ b/arch/sparc64/kernel/semaphore.c @@ -1,4 +1,4 @@ -/* $Id: semaphore.c,v 1.3 2000/03/27 10:38:46 davem Exp $ +/* $Id: semaphore.c,v 1.4 2000/10/14 10:09:00 davem Exp $ * Generic semaphore code. Buyer beware. Do your own * specific changes in <asm/semaphore-helper.h> */ @@ -275,7 +275,7 @@ void down_write_failed(struct rw_semaphore *sem) while (sem->count < 0) { set_task_state(tsk, TASK_UNINTERRUPTIBLE | TASK_EXCLUSIVE); if (sem->count >= 0) - break; /* we must attempt to aquire or bias the lock */ + break; /* we must attempt to acquire or bias the lock */ schedule(); } diff --git a/arch/sparc64/kernel/setup.c b/arch/sparc64/kernel/setup.c index 84cc201fd..fa46489c1 100644 --- a/arch/sparc64/kernel/setup.c +++ b/arch/sparc64/kernel/setup.c @@ -1,4 +1,4 @@ -/* $Id: setup.c,v 1.56 2000/09/21 06:29:01 anton Exp $ +/* $Id: setup.c,v 1.57 2000/10/14 10:09:00 davem Exp $ * linux/arch/sparc64/kernel/setup.c * * Copyright (C) 1995,1996 David S. Miller (davem@caip.rutgers.edu) @@ -75,17 +75,10 @@ prom_console_write(struct console *con, const char *s, unsigned n) } static struct console prom_console = { - "prom", - prom_console_write, - NULL, - NULL, - NULL, - NULL, - NULL, - CON_CONSDEV | CON_ENABLED, - -1, - 0, - NULL + name: "prom", + write: prom_console_write, + flags: CON_CONSDEV | CON_ENABLED, + index: -1, }; #define PROM_TRUE -1 @@ -294,17 +287,10 @@ unsigned long cmdline_memory_size = 0; #ifdef PROM_DEBUG_CONSOLE static struct console prom_debug_console = { - "debug", - prom_console_write, - NULL, - NULL, - NULL, - NULL, - NULL, - CON_PRINTBUFFER, - -1, - 0, - NULL + name: "debug", + write: prom_console_write, + flags: CON_PRINTBUFFER, + index: -1, }; #endif diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c index dbcb1f09e..d32fd4721 100644 --- a/arch/sparc64/kernel/smp.c +++ b/arch/sparc64/kernel/smp.c @@ -28,6 +28,7 @@ #include <asm/softirq.h> #include <asm/uaccess.h> #include <asm/timer.h> +#include <asm/starfire.h> #define __KERNEL_SYSCALLS__ #include <linux/unistd.h> @@ -302,9 +303,17 @@ void __init smp_boot_cpus(void) static inline void xcall_deliver(u64 data0, u64 data1, u64 data2, u64 pstate, unsigned long cpu) { - u64 result, target = (cpu << 14) | 0x70; + u64 result, target; int stuck, tmp; + if (this_is_starfire) { + /* map to real upaid */ + cpu = (((cpu & 0x3c) << 1) | + ((cpu & 0x40) >> 4) | + (cpu & 0x3)); + } + + target = (cpu << 14) | 0x70; #ifdef XCALL_DEBUG printk("CPU[%d]: xcall(data[%016lx:%016lx:%016lx],tgt[%016lx])\n", smp_processor_id(), data0, data1, data2, target); diff --git a/arch/sparc64/kernel/sparc64_ksyms.c b/arch/sparc64/kernel/sparc64_ksyms.c index c5559ef79..6e7f59309 100644 --- a/arch/sparc64/kernel/sparc64_ksyms.c +++ b/arch/sparc64/kernel/sparc64_ksyms.c @@ -1,4 +1,4 @@ -/* $Id: sparc64_ksyms.c,v 1.92 2000/08/09 08:45:40 anton Exp $ +/* $Id: sparc64_ksyms.c,v 1.95 2000/10/30 21:01:40 davem Exp $ * arch/sparc64/kernel/sparc64_ksyms.c: Sparc64 specific ksyms support. * * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu) @@ -18,6 +18,8 @@ #include <linux/in6.h> #include <linux/pci.h> #include <linux/interrupt.h> +#include <linux/fs_struct.h> +#include <linux/mm.h> #include <asm/oplib.h> #include <asm/delay.h> @@ -29,6 +31,7 @@ #include <asm/hardirq.h> #include <asm/idprom.h> #include <asm/svr4.h> +#include <asm/elf.h> #include <asm/head.h> #include <asm/smp.h> #include <asm/mostek.h> @@ -37,6 +40,7 @@ #include <asm/uaccess.h> #include <asm/checksum.h> #include <asm/fpumacro.h> +#include <asm/pgalloc.h> #ifdef CONFIG_SBUS #include <asm/sbus.h> #include <asm/dma.h> @@ -88,6 +92,7 @@ extern void __flush_dcache_page(void *addr); extern int __ashrdi3(int, int); extern void dump_thread(struct pt_regs *, struct user *); +extern int dump_fpu (struct pt_regs * regs, elf_fpregset_t * fpregs); #ifdef CONFIG_SMP extern spinlock_t kernel_flag; @@ -230,6 +235,13 @@ EXPORT_SYMBOL(_sigpause_common); /* Should really be in linux/kernel/ksyms.c */ EXPORT_SYMBOL(dump_thread); +EXPORT_SYMBOL(dump_fpu); +EXPORT_SYMBOL(get_pmd_slow); +EXPORT_SYMBOL(get_pte_slow); +#ifndef CONFIG_SMP +EXPORT_SYMBOL(pgt_quicklists); +#endif +EXPORT_SYMBOL(put_fs_struct); /* math-emu wants this */ EXPORT_SYMBOL(die_if_kernel); @@ -262,10 +274,9 @@ EXPORT_SYMBOL(__prom_getsibling); /* sparc library symbols */ EXPORT_SYMBOL(__strlen); -#if __GNUC__ > 2 || __GNUC_MINOR__ >= 91 EXPORT_SYMBOL(strlen); -#endif EXPORT_SYMBOL(strnlen); +EXPORT_SYMBOL(__strlen_user); EXPORT_SYMBOL(strcpy); EXPORT_SYMBOL(strncpy); EXPORT_SYMBOL(strcat); diff --git a/arch/sparc64/kernel/starfire.c b/arch/sparc64/kernel/starfire.c index dc8f96b7a..6899e7c4a 100644 --- a/arch/sparc64/kernel/starfire.c +++ b/arch/sparc64/kernel/starfire.c @@ -1,4 +1,4 @@ -/* $Id: starfire.c,v 1.7 2000/09/22 23:02:13 davem Exp $ +/* $Id: starfire.c,v 1.8 2000/10/27 18:36:47 anton Exp $ * starfire.c: Starfire/E10000 support. * * Copyright (C) 1998 David S. Miller (davem@redhat.com) @@ -31,7 +31,12 @@ void check_if_starfire(void) void starfire_cpu_setup(void) { if (this_is_starfire) { -/* We do this in starfire_translate - Anton */ +/* + * We do this in starfire_translate and xcall_deliver. When we fix our cpu + * arrays to support > 64 processors we can use the real upaid instead + * of the logical cpuid in __cpu_number_map etc, then we can get rid of + * the translations everywhere. - Anton + */ #if 0 int i; diff --git a/arch/sparc64/kernel/sys_sparc32.c b/arch/sparc64/kernel/sys_sparc32.c index 071510bbc..24c8cd593 100644 --- a/arch/sparc64/kernel/sys_sparc32.c +++ b/arch/sparc64/kernel/sys_sparc32.c @@ -1,4 +1,4 @@ -/* $Id: sys_sparc32.c,v 1.164 2000/09/14 10:42:47 davem Exp $ +/* $Id: sys_sparc32.c,v 1.165 2000/10/10 04:47:31 davem Exp $ * sys_sparc32.c: Conversion between 32bit and 64bit native syscalls. * * Copyright (C) 1997,1998 Jakub Jelinek (jj@sunsite.mff.cuni.cz) @@ -2893,7 +2893,7 @@ sys32_rt_sigaction(int sig, struct sigaction32 *act, struct sigaction32 *oact, /* * count32() counts the number of arguments/envelopes */ -static int count32(u32 * argv) +static int count32(u32 * argv, int max) { int i = 0; @@ -2902,9 +2902,13 @@ static int count32(u32 * argv) u32 p; int error; error = get_user(p,argv); - if (error) return error; - if (!p) break; - argv++; i++; + if (error) + return error; + if (!p) + break; + argv++; + if (++i > max) + return -E2BIG; } } return i; @@ -3001,12 +3005,12 @@ do_execve32(char * filename, u32 * argv, u32 * envp, struct pt_regs * regs) bprm.sh_bang = 0; bprm.loader = 0; bprm.exec = 0; - if ((bprm.argc = count32(argv)) < 0) { + if ((bprm.argc = count32(argv, bprm.p / sizeof(u32))) < 0) { allow_write_access(file); fput(file); return bprm.argc; } - if ((bprm.envc = count32(envp)) < 0) { + if ((bprm.envc = count32(envp, bprm.p / sizeof(u32))) < 0) { allow_write_access(file); fput(file); return bprm.envc; diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c index d694e40f9..65fbd6e37 100644 --- a/arch/sparc64/mm/init.c +++ b/arch/sparc64/mm/init.c @@ -1,4 +1,4 @@ -/* $Id: init.c,v 1.156 2000/09/21 06:34:48 anton Exp $ +/* $Id: init.c,v 1.157 2000/10/19 00:49:52 davem Exp $ * arch/sparc64/mm/init.c * * Copyright (C) 1996-1999 David S. Miller (davem@caip.rutgers.edu) @@ -873,7 +873,7 @@ unsigned long __init bootmem_init(unsigned long *pages_avail) } #endif /* Initialize the boot-time allocator. */ - bootmap_size = init_bootmem_node(0, bootmap_pfn, phys_base>>PAGE_SHIFT, end_pfn); + bootmap_size = init_bootmem_node(NODE_DATA(0), bootmap_pfn, phys_base>>PAGE_SHIFT, end_pfn); /* Now register the available physical memory with the * allocator. diff --git a/arch/sparc64/solaris/socksys.c b/arch/sparc64/solaris/socksys.c index c40225584..bf2182381 100644 --- a/arch/sparc64/solaris/socksys.c +++ b/arch/sparc64/solaris/socksys.c @@ -1,4 +1,4 @@ -/* $Id: socksys.c,v 1.16 2000/07/27 00:03:48 davem Exp $ +/* $Id: socksys.c,v 1.17 2000/10/19 00:49:53 davem Exp $ * socksys.c: /dev/inet/ stuff for Solaris emulation. * * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz) @@ -161,7 +161,7 @@ static struct file_operations socksys_fops = { release: socksys_release, }; -static devfs_handle_t devfs_handle = NULL; +static devfs_handle_t devfs_handle; int __init init_socksys(void) |