Commit 633d7b7e authored by Linus Torvalds's avatar Linus Torvalds

Merge bk://kernel.bkbits.net/davem/sparc-2.6

into ppc970.osdl.org:/home/torvalds/v2.6/linux
parents 515f4f3f 6f64af39
...@@ -92,8 +92,8 @@ config SMP ...@@ -92,8 +92,8 @@ config SMP
bool "Symmetric multi-processing support" bool "Symmetric multi-processing support"
---help--- ---help---
This enables support for systems with more than one CPU. If you have This enables support for systems with more than one CPU. If you have
a system with only one CPU, like most personal computers, say N. If a system with only one CPU, say N. If you have a system with more than
you have a system with more than one CPU, say Y. one CPU, say Y.
If you say N here, the kernel will run on single and multiprocessor If you say N here, the kernel will run on single and multiprocessor
machines, but will use only one CPU of a multiprocessor machine. If machines, but will use only one CPU of a multiprocessor machine. If
...@@ -101,17 +101,11 @@ config SMP ...@@ -101,17 +101,11 @@ config SMP
singleprocessor machines. On a singleprocessor machine, the kernel singleprocessor machines. On a singleprocessor machine, the kernel
will run faster if you say N here. will run faster if you say N here.
Note that if you say Y here and choose architecture "586" or
"Pentium" under "Processor family", the kernel will not work on 486
architectures. Similarly, multiprocessor kernels for the "PPro"
architecture may not work on all Pentium based boards.
People using multiprocessor machines who say Y here should also say People using multiprocessor machines who say Y here should also say
Y to "Enhanced Real Time Clock Support", below. The "Advanced Power Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
Management" code will be disabled if you say Y here. Management" code will be disabled if you say Y here.
See also the <file:Documentation/smp.txt>, See also the <file:Documentation/smp.txt>,
<file:Documentation/i386/IO-APIC.txt>,
<file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
<http://www.tldp.org/docs.html#howto>. <http://www.tldp.org/docs.html#howto>.
......
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Linux kernel version: 2.6.10 # Linux kernel version: 2.6.10
# Mon Dec 27 22:36:56 2004 # Mon Jan 10 11:24:25 2005
# #
CONFIG_64BIT=y CONFIG_64BIT=y
CONFIG_MMU=y CONFIG_MMU=y
...@@ -79,6 +79,7 @@ CONFIG_US3_FREQ=m ...@@ -79,6 +79,7 @@ CONFIG_US3_FREQ=m
CONFIG_US2E_FREQ=m CONFIG_US2E_FREQ=m
CONFIG_SPARC64=y CONFIG_SPARC64=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_HUGETLB_PAGE_SIZE_4MB=y CONFIG_HUGETLB_PAGE_SIZE_4MB=y
# CONFIG_HUGETLB_PAGE_SIZE_512K is not set # CONFIG_HUGETLB_PAGE_SIZE_512K is not set
# CONFIG_HUGETLB_PAGE_SIZE_64K is not set # CONFIG_HUGETLB_PAGE_SIZE_64K is not set
...@@ -336,6 +337,7 @@ CONFIG_SCSI_CONSTANTS=y ...@@ -336,6 +337,7 @@ CONFIG_SCSI_CONSTANTS=y
# #
CONFIG_SCSI_SPI_ATTRS=y CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=m CONFIG_SCSI_FC_ATTRS=m
CONFIG_SCSI_ISCSI_ATTRS=m
# #
# SCSI low-level drivers # SCSI low-level drivers
...@@ -395,7 +397,6 @@ CONFIG_SCSI_QLA2XXX=y ...@@ -395,7 +397,6 @@ CONFIG_SCSI_QLA2XXX=y
# CONFIG_SCSI_QLA2300 is not set # CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set # CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set # CONFIG_SCSI_QLA6312 is not set
# CONFIG_SCSI_QLA6322 is not set
CONFIG_SCSI_DC395x=m CONFIG_SCSI_DC395x=m
# CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_DC390T is not set
CONFIG_SCSI_DEBUG=m CONFIG_SCSI_DEBUG=m
...@@ -619,8 +620,6 @@ CONFIG_IP_NF_TARGET_NOTRACK=m ...@@ -619,8 +620,6 @@ CONFIG_IP_NF_TARGET_NOTRACK=m
CONFIG_IP_NF_ARPTABLES=m CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m CONFIG_IP_NF_ARP_MANGLE=m
CONFIG_IP_NF_COMPAT_IPCHAINS=m
CONFIG_IP_NF_COMPAT_IPFWADM=m
# #
# IPv6: Netfilter Configuration # IPv6: Netfilter Configuration
...@@ -894,7 +893,6 @@ CONFIG_B44=m ...@@ -894,7 +893,6 @@ CONFIG_B44=m
CONFIG_FORCEDETH=m CONFIG_FORCEDETH=m
CONFIG_DGRS=m CONFIG_DGRS=m
CONFIG_EEPRO100=m CONFIG_EEPRO100=m
# CONFIG_EEPRO100_PIO is not set
CONFIG_E100=m CONFIG_E100=m
CONFIG_E100_NAPI=y CONFIG_E100_NAPI=y
CONFIG_FEALNX=m CONFIG_FEALNX=m
...@@ -1081,7 +1079,6 @@ CONFIG_UNIX98_PTY_COUNT=256 ...@@ -1081,7 +1079,6 @@ CONFIG_UNIX98_PTY_COUNT=256
# XFree86 DRI support # XFree86 DRI support
# #
CONFIG_DRM=y CONFIG_DRM=y
CONFIG_DRM_FFB=m
CONFIG_DRM_TDFX=m CONFIG_DRM_TDFX=m
# CONFIG_DRM_R128 is not set # CONFIG_DRM_R128 is not set
...@@ -1112,13 +1109,14 @@ CONFIG_SOUND_GAMEPORT=m ...@@ -1112,13 +1109,14 @@ CONFIG_SOUND_GAMEPORT=m
# CONFIG_GAMEPORT_EMU10K1 is not set # CONFIG_GAMEPORT_EMU10K1 is not set
# CONFIG_GAMEPORT_VORTEX is not set # CONFIG_GAMEPORT_VORTEX is not set
# CONFIG_GAMEPORT_FM801 is not set # CONFIG_GAMEPORT_FM801 is not set
# CONFIG_GAMEPORT_CS461x is not set CONFIG_GAMEPORT_CS461X=m
CONFIG_SERIO=y CONFIG_SERIO=y
CONFIG_SERIO_I8042=y CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set # CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set # CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set # CONFIG_SERIO_PARKBD is not set
CONFIG_SERIO_PCIPS2=m CONFIG_SERIO_PCIPS2=m
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=m CONFIG_SERIO_RAW=m
# #
...@@ -1239,6 +1237,7 @@ CONFIG_FS_MBCACHE=y ...@@ -1239,6 +1237,7 @@ CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set # CONFIG_REISERFS_FS is not set
CONFIG_JFS_FS=m CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_DEBUG is not set # CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set # CONFIG_JFS_STATISTICS is not set
CONFIG_FS_POSIX_ACL=y CONFIG_FS_POSIX_ACL=y
...@@ -1308,7 +1307,6 @@ CONFIG_CRAMFS=m ...@@ -1308,7 +1307,6 @@ CONFIG_CRAMFS=m
CONFIG_VXFS_FS=m CONFIG_VXFS_FS=m
CONFIG_HPFS_FS=m CONFIG_HPFS_FS=m
CONFIG_QNX4FS_FS=m CONFIG_QNX4FS_FS=m
# CONFIG_QNX4FS_RW is not set
CONFIG_SYSV_FS=m CONFIG_SYSV_FS=m
CONFIG_UFS_FS=m CONFIG_UFS_FS=m
CONFIG_UFS_FS_WRITE=y CONFIG_UFS_FS_WRITE=y
...@@ -1579,6 +1577,8 @@ CONFIG_SND_CS46XX=m ...@@ -1579,6 +1577,8 @@ CONFIG_SND_CS46XX=m
# CONFIG_SND_CS46XX_NEW_DSP is not set # CONFIG_SND_CS46XX_NEW_DSP is not set
CONFIG_SND_CS4281=m CONFIG_SND_CS4281=m
CONFIG_SND_EMU10K1=m CONFIG_SND_EMU10K1=m
CONFIG_SND_EMU10K1X=m
CONFIG_SND_CA0106=m
CONFIG_SND_KORG1212=m CONFIG_SND_KORG1212=m
CONFIG_SND_MIXART=m CONFIG_SND_MIXART=m
CONFIG_SND_NM256=m CONFIG_SND_NM256=m
...@@ -1603,13 +1603,13 @@ CONFIG_SND_INTEL8X0=m ...@@ -1603,13 +1603,13 @@ CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m CONFIG_SND_INTEL8X0M=m
CONFIG_SND_SONICVIBES=m CONFIG_SND_SONICVIBES=m
# CONFIG_SND_VIA82XX is not set # CONFIG_SND_VIA82XX is not set
CONFIG_SND_VIA82XX_MODEM=m
CONFIG_SND_VX222=m CONFIG_SND_VX222=m
# #
# USB devices # USB devices
# #
# CONFIG_SND_USB_AUDIO is not set # CONFIG_SND_USB_AUDIO is not set
CONFIG_SND_USB_USX2Y=m
# #
# ALSA Sparc devices # ALSA Sparc devices
...@@ -1691,7 +1691,6 @@ CONFIG_USB_ATI_REMOTE=m ...@@ -1691,7 +1691,6 @@ CONFIG_USB_ATI_REMOTE=m
# #
CONFIG_USB_MDC800=m CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m CONFIG_USB_MICROTEK=m
CONFIG_USB_HPUSBSCSI=m
# #
# USB Multimedia devices # USB Multimedia devices
...@@ -1862,7 +1861,7 @@ CONFIG_SCHEDSTATS=y ...@@ -1862,7 +1861,7 @@ CONFIG_SCHEDSTATS=y
# CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_KOBJECT is not set # CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_BUGVERBOSE is not set CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set # CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_DEBUG_STACK_USAGE is not set
CONFIG_KPROBES=y CONFIG_KPROBES=y
......
...@@ -453,9 +453,9 @@ static void __psycho_check_one_stc(struct pci_controller_info *p, ...@@ -453,9 +453,9 @@ static void __psycho_check_one_stc(struct pci_controller_info *p,
tag_base = regbase + PSYCHO_STC_TAG_A; tag_base = regbase + PSYCHO_STC_TAG_A;
line_base = regbase + PSYCHO_STC_LINE_A; line_base = regbase + PSYCHO_STC_LINE_A;
} else { } else {
err_base = regbase + PSYCHO_STC_ERR_A; err_base = regbase + PSYCHO_STC_ERR_B;
tag_base = regbase + PSYCHO_STC_TAG_A; tag_base = regbase + PSYCHO_STC_TAG_B;
line_base = regbase + PSYCHO_STC_LINE_A; line_base = regbase + PSYCHO_STC_LINE_B;
} }
spin_lock(&stc_buf_lock); spin_lock(&stc_buf_lock);
......
...@@ -1598,7 +1598,8 @@ asmlinkage long sys32_sysctl(struct __sysctl_args32 __user *args) ...@@ -1598,7 +1598,8 @@ asmlinkage long sys32_sysctl(struct __sysctl_args32 __user *args)
put_user(oldlen, (u32 __user *)(unsigned long) tmp.oldlenp)) put_user(oldlen, (u32 __user *)(unsigned long) tmp.oldlenp))
error = -EFAULT; error = -EFAULT;
} }
copy_to_user(args->__unused, tmp.__unused, sizeof(tmp.__unused)); if (copy_to_user(args->__unused, tmp.__unused, sizeof(tmp.__unused)))
error = -EFAULT;
} }
return error; return error;
#endif #endif
......
...@@ -291,7 +291,8 @@ static int sunos_filldir(void * __buf, const char * name, int namlen, ...@@ -291,7 +291,8 @@ static int sunos_filldir(void * __buf, const char * name, int namlen,
put_user(ino, &dirent->d_ino); put_user(ino, &dirent->d_ino);
put_user(namlen, &dirent->d_namlen); put_user(namlen, &dirent->d_namlen);
put_user(reclen, &dirent->d_reclen); put_user(reclen, &dirent->d_reclen);
copy_to_user(dirent->d_name, name, namlen); if (copy_to_user(dirent->d_name, name, namlen))
return -EFAULT;
put_user(0, dirent->d_name + namlen); put_user(0, dirent->d_name + namlen);
dirent = (void __user *) dirent + reclen; dirent = (void __user *) dirent + reclen;
buf->curr = dirent; buf->curr = dirent;
...@@ -371,7 +372,8 @@ static int sunos_filldirentry(void * __buf, const char * name, int namlen, ...@@ -371,7 +372,8 @@ static int sunos_filldirentry(void * __buf, const char * name, int namlen,
put_user(ino, &dirent->d_ino); put_user(ino, &dirent->d_ino);
put_user(namlen, &dirent->d_namlen); put_user(namlen, &dirent->d_namlen);
put_user(reclen, &dirent->d_reclen); put_user(reclen, &dirent->d_reclen);
copy_to_user(dirent->d_name, name, namlen); if (copy_to_user(dirent->d_name, name, namlen))
return -EFAULT;
put_user(0, dirent->d_name + namlen); put_user(0, dirent->d_name + namlen);
dirent = (void __user *) dirent + reclen; dirent = (void __user *) dirent + reclen;
buf->curr = dirent; buf->curr = dirent;
......
...@@ -50,9 +50,10 @@ unsigned long find_next_bit(const unsigned long *addr, unsigned long size, ...@@ -50,9 +50,10 @@ unsigned long find_next_bit(const unsigned long *addr, unsigned long size,
* on Linus's ALPHA routines, which are pretty portable BTW. * on Linus's ALPHA routines, which are pretty portable BTW.
*/ */
unsigned long find_next_zero_bit(unsigned long *addr, unsigned long size, unsigned long offset) unsigned long find_next_zero_bit(const unsigned long *addr,
unsigned long size, unsigned long offset)
{ {
unsigned long *p = addr + (offset >> 6); const unsigned long *p = addr + (offset >> 6);
unsigned long result = offset & ~63UL; unsigned long result = offset & ~63UL;
unsigned long tmp; unsigned long tmp;
......
...@@ -231,18 +231,20 @@ static void __init sbus_bus_ranges_init(int parent_node, struct sbus_bus *sbus) ...@@ -231,18 +231,20 @@ static void __init sbus_bus_ranges_init(int parent_node, struct sbus_bus *sbus)
return; return;
} }
sbus->num_sbus_ranges = len / sizeof(struct linux_prom_ranges); sbus->num_sbus_ranges = len / sizeof(struct linux_prom_ranges);
#ifdef CONFIG_SPARC32
if (sparc_cpu_model == sun4d) { if (sparc_cpu_model == sun4d) {
struct linux_prom_ranges iounit_ranges[PROMREG_MAX]; struct linux_prom_ranges iounit_ranges[PROMREG_MAX];
int num_iounit_ranges; int num_iounit_ranges;
len = prom_getproperty(parent_node, "ranges", len = prom_getproperty(parent_node, "ranges",
(char *) iounit_ranges, (char *) iounit_ranges,
sizeof (iounit_ranges)); sizeof (iounit_ranges));
if (len != -1) { if (len != -1) {
num_iounit_ranges = (len/sizeof(struct linux_prom_ranges)); num_iounit_ranges = (len/sizeof(struct linux_prom_ranges));
prom_adjust_ranges (sbus->sbus_ranges, sbus->num_sbus_ranges, iounit_ranges, num_iounit_ranges); prom_adjust_ranges (sbus->sbus_ranges, sbus->num_sbus_ranges, iounit_ranges, num_iounit_ranges);
} }
} }
#endif
} }
static void __init __apply_ranges_to_regs(struct linux_prom_ranges *ranges, static void __init __apply_ranges_to_regs(struct linux_prom_ranges *ranges,
......
...@@ -223,7 +223,8 @@ extern unsigned long find_next_bit(const unsigned long *, unsigned long, ...@@ -223,7 +223,8 @@ extern unsigned long find_next_bit(const unsigned long *, unsigned long,
* on Linus's ALPHA routines, which are pretty portable BTW. * on Linus's ALPHA routines, which are pretty portable BTW.
*/ */
extern unsigned long find_next_zero_bit(unsigned long *, unsigned long, unsigned long); extern unsigned long find_next_zero_bit(const unsigned long *,
unsigned long, unsigned long);
#define find_first_zero_bit(addr, size) \ #define find_first_zero_bit(addr, size) \
find_next_zero_bit((addr), (size), 0) find_next_zero_bit((addr), (size), 0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment