Commit 63ee1b27 authored by Linus Torvalds's avatar Linus Torvalds

Import 2.3.11pre6

parent bef89866
......@@ -1714,12 +1714,13 @@ S: 75019 Paris
S: France
N: Rik van Riel
E: H.H.vanRiel@humbolt.geo.uu.nl
W: http://humbolt.geo.uu.nl/
D: Maintainer of the mm-patches page (see www.linuxhq.com)
D: Documentation/sysctl/*, kswapd fixes, random kernel hacker
S: Vorenkampsweg 1
S: NL-9488 TG Zeijerveld
E: riel@nl.linux.org
W: http://www.nl.linux.org/~riel/
D: Linux-MM site, Documentation/sysctl/*, swap/mm readaround
D: clustering contributor, kswapd fixes, random kernel hacker,
D: nl.linux.org maintainer, minor scheduler additions
S: IJsselstraat 23a
S: 9725 GA Groningen
S: The Netherlands
N: William E. Roadcap
......
#
# Automatically generated make config: don't edit
#
CONFIG_ARM=y
#
# System and processor type
#
# CONFIG_ARCH_ARC is not set
CONFIG_ARCH_A5K=y
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_EBSA110 is not set
# CONFIG_FOOTBRIDGE is not set
CONFIG_ARCH_ACORN=y
# CONFIG_ISA_DMA is not set
# CONFIG_CPU_32 is not set
CONFIG_CPU_26=y
# CONFIG_CPU_ARM2 is not set
CONFIG_CPU_ARM3=y
# CONFIG_CPU_ARM6 is not set
# CONFIG_CPU_ARM7 is not set
# CONFIG_CPU_SA110 is not set
CONFIG_PAGESIZE_32=y
# CONFIG_PAGESIZE_16 is not set
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
# CONFIG_TEXT_SECTIONS is not set
#
# Loadable module support
#
CONFIG_MODULES=y
# CONFIG_MODVERSIONS is not set
CONFIG_KMOD=y
#
# General setup
#
CONFIG_NET=y
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_NWFPE is not set
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=m
# CONFIG_BINFMT_MISC is not set
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
#
# Plug and Play support
#
# CONFIG_PNP is not set
#
# Block devices
#
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_IDE=y
#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_BLK_DEV_IDECD is not set
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_IDE_CHIPSETS is not set
#
# Additional Block Devices
#
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_MD is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_INITRD=y
# CONFIG_BLK_DEV_XD is not set
CONFIG_PARIDE_PARPORT=y
# CONFIG_PARIDE is not set
# CONFIG_BLK_DEV_HD is not set
#
# Acorn-specific block devices
#
CONFIG_BLK_DEV_IDE_CARDS=y
CONFIG_BLK_DEV_IDE_ICSIDE=y
# CONFIG_BLK_DEV_IDE_RAPIDE is not set
# CONFIG_BLK_DEV_FD1772 is not set
CONFIG_BLK_DEV_MFM=m
CONFIG_BLK_DEV_MFM_AUTODETECT=y
#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
# CONFIG_SERIAL_CONSOLE is not set
# CONFIG_SERIAL_EXTENDED is not set
CONFIG_ATOMWIDE_SERIAL=y
CONFIG_DUALSP_SERIAL=y
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_UNIX98_PTYS is not set
CONFIG_PRINTER=y
CONFIG_PRINTER_READBACK=y
CONFIG_MOUSE=y
#
# Mice
#
# CONFIG_ATIXL_BUSMOUSE is not set
# CONFIG_BUSMOUSE is not set
# CONFIG_MS_BUSMOUSE is not set
# CONFIG_PSMOUSE is not set
# CONFIG_82C710_MOUSE is not set
# CONFIG_PC110_PAD is not set
# CONFIG_QIC02_TAPE is not set
# CONFIG_WATCHDOG is not set
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
#
# Video For Linux
#
# CONFIG_VIDEO_DEV is not set
#
# Joystick support
#
# CONFIG_JOYSTICK is not set
# CONFIG_DTLK is not set
#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
CONFIG_KBDMOUSE=y
#
# Console drivers
#
CONFIG_FB=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FB_ACORN=y
# CONFIG_FB_MATROX is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FBCON_ADVANCED is not set
CONFIG_FBCON_MFB=y
CONFIG_FBCON_CFB2=y
CONFIG_FBCON_CFB4=y
CONFIG_FBCON_CFB8=y
# CONFIG_FBCON_FONTWIDTH8_ONLY is not set
# CONFIG_FBCON_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_FONT_ACORN_8x8=y
#
# Networking options
#
# CONFIG_PACKET is not set
# CONFIG_NETLINK is not set
# CONFIG_FIREWALL is not set
# CONFIG_FILTER is not set
CONFIG_UNIX=y
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
# CONFIG_IP_ROUTER is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_ALIAS is not set
# CONFIG_SYN_COOKIES is not set
#
# (it is safe to leave these untouched)
#
# CONFIG_INET_RARP is not set
# CONFIG_SKB_LARGE is not set
# CONFIG_IPV6 is not set
#
#
#
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_BRIDGE is not set
# CONFIG_LLC is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
# CONFIG_NET_HW_FLOWCONTROL is not set
# CONFIG_CPU_IS_SLOW is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
#
# Amateur Radio support
#
# CONFIG_HAMRADIO is not set
#
# IrDA subsystem support
#
# CONFIG_IRDA is not set
#
# Network device support
#
CONFIG_NETDEVICES=y
# CONFIG_ARCNET is not set
# CONFIG_DUMMY is not set
# CONFIG_EQUALIZER is not set
CONFIG_NET_ETHERNET=y
CONFIG_ARM_ETHER1=y
CONFIG_ARM_ETHER3=y
# CONFIG_ARM_ETHERH is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_RTL8139 is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_ACENIC is not set
# CONFIG_NET_ISA is not set
# CONFIG_NET_EISA is not set
# CONFIG_NET_POCKET is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_DLCI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_RADIO is not set
# CONFIG_TR is not set
# CONFIG_SHAPER is not set
# CONFIG_HOSTESS_SV11 is not set
# CONFIG_COSA is not set
# CONFIG_RCPCI is not set
#
# SCSI support
#
CONFIG_SCSI=y
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
CONFIG_BLK_DEV_SR=y
# CONFIG_BLK_DEV_SR_VENDOR is not set
# CONFIG_CHR_DEV_SG is not set
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
#
# SCSI low-level drivers
#
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AHA1740 is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_DMA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
CONFIG_SCSI_PPA=m
# CONFIG_SCSI_IMM is not set
# CONFIG_SCSI_IZIP_EPP16 is not set
# CONFIG_SCSI_IZIP_SLOW_CTR is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_SYM53C416 is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_PCI2000 is not set
# CONFIG_SCSI_PCI2220I is not set
# CONFIG_SCSI_PSI240I is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_SEAGATE is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_ULTRASTOR is not set
# CONFIG_SCSI_DEBUG is not set
CONFIG_SCSI_ACORNSCSI_3=y
CONFIG_SCSI_ACORNSCSI_TAGGED_QUEUE=y
CONFIG_SCSI_ACORNSCSI_SYNC=y
CONFIG_SCSI_ARXESCSI=m
# CONFIG_SCSI_CUMANA_2 is not set
CONFIG_SCSI_EESOXSCSI=y
# CONFIG_SCSI_POWERTECSCSI is not set
#
# The following drivers are not fully supported
#
# CONFIG_SCSI_CUMANA_1 is not set
# CONFIG_SCSI_ECOSCSI is not set
# CONFIG_SCSI_OAK1 is not set
#
# Sound
#
# CONFIG_SOUND is not set
#
# Filesystems
#
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
CONFIG_ADFS_FS=y
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
# CONFIG_UMSDOS_FS is not set
CONFIG_VFAT_FS=m
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
# CONFIG_MINIX_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
# CONFIG_QNX4FS_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
#
# Network File Systems
#
# CONFIG_CODA_FS is not set
CONFIG_NFS_FS=y
CONFIG_NFSD=y
# CONFIG_NFSD_SUN is not set
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
# CONFIG_SMB_FS is not set
# CONFIG_NCP_FS is not set
#
# Partition Types
#
# CONFIG_OSF_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_SGI_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
CONFIG_ACORN_PARTITION=y
CONFIG_ACORN_PARTITION_ADFS=y
CONFIG_ACORN_PARTITION_ICS=y
CONFIG_ACORN_PARTITION_POWERTEC=y
CONFIG_ACORN_PARTITION_RISCIX=y
CONFIG_NLS=y
#
# Native Language Support
#
# CONFIG_NLS_CODEPAGE_437 is not set
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_1 is not set
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
#
# Kernel hacking
#
CONFIG_FRAME_POINTER=y
CONFIG_DEBUG_ERRORS=y
# CONFIG_DEBUG_USER is not set
# CONFIG_DEBUG_INFO is not set
CONFIG_MAGIC_SYSRQ=y
CONFIG_NO_PGT_CACHE=y
# CONFIG_DEBUG_LL is not set
#
# Automatically generated make config: don't edit
#
CONFIG_ARM=y
#
# System and processor type
#
# CONFIG_ARCH_ARC is not set
# CONFIG_ARCH_A5K is not set
# CONFIG_ARCH_RPC is not set
CONFIG_ARCH_EBSA110=y
# CONFIG_FOOTBRIDGE is not set
# CONFIG_ARCH_ACORN is not set
# CONFIG_ISA_DMA is not set
CONFIG_CPU_32=y
# CONFIG_CPU_26 is not set
# CONFIG_CPU_ARM2 is not set
# CONFIG_CPU_ARM3 is not set
# CONFIG_CPU_ARM6 is not set
# CONFIG_CPU_ARM7 is not set
CONFIG_CPU_SA110=y
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
# CONFIG_TEXT_SECTIONS is not set
#
# Loadable module support
#
CONFIG_MODULES=y
# CONFIG_MODVERSIONS is not set
CONFIG_KMOD=y
#
# General setup
#
CONFIG_NET=y
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_NWFPE is not set
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=m
# CONFIG_BINFMT_MISC is not set
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
CONFIG_CMDLINE="root=/dev/nfs rw mem=16M console=ttyS1,38400n8"
CONFIG_LEDS=y
#
# Plug and Play support
#
# CONFIG_PNP is not set
#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_IDE is not set
#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_ONLY is not set
#
# Additional Block Devices
#
# CONFIG_BLK_DEV_LOOP is not set
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_MD is not set
CONFIG_BLK_DEV_RAM=y
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_BLK_DEV_XD is not set
CONFIG_PARIDE_PARPORT=y
# CONFIG_PARIDE is not set
# CONFIG_BLK_DEV_HD is not set
#
# Character devices
#
# CONFIG_VT is not set
CONFIG_SERIAL=y
CONFIG_SERIAL_CONSOLE=y
CONFIG_SERIAL_EXTENDED=y
# CONFIG_SERIAL_MANY_PORTS is not set
# CONFIG_SERIAL_SHARE_IRQ is not set
# CONFIG_SERIAL_DETECT_IRQ is not set
# CONFIG_SERIAL_MULTIPORT is not set
# CONFIG_HUB6 is not set
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_UNIX98_PTYS is not set
CONFIG_PRINTER=m
CONFIG_PRINTER_READBACK=y
CONFIG_MOUSE=y
#
# Mice
#
# CONFIG_ATIXL_BUSMOUSE is not set
# CONFIG_BUSMOUSE is not set
# CONFIG_MS_BUSMOUSE is not set
# CONFIG_PSMOUSE is not set
# CONFIG_82C710_MOUSE is not set
# CONFIG_PC110_PAD is not set
# CONFIG_QIC02_TAPE is not set
CONFIG_WATCHDOG=y
#
# Watchdog Cards
#
# CONFIG_WATCHDOG_NOWAYOUT is not set
# CONFIG_WDT is not set
CONFIG_SOFT_WATCHDOG=y
# CONFIG_PCWATCHDOG is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
#
# Video For Linux
#
# CONFIG_VIDEO_DEV is not set
#
# Joystick support
#
# CONFIG_JOYSTICK is not set
# CONFIG_DTLK is not set
#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
#
# Networking options
#
CONFIG_PACKET=m
# CONFIG_NETLINK is not set
CONFIG_FIREWALL=y
# CONFIG_FILTER is not set
CONFIG_UNIX=y
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_PNP=y
CONFIG_IP_PNP_BOOTP=y
# CONFIG_IP_PNP_RARP is not set
CONFIG_IP_FIREWALL=y
CONFIG_IP_ALWAYS_DEFRAG=y
# CONFIG_IP_TRANSPARENT_PROXY is not set
CONFIG_IP_MASQUERADE=y
#
# Protocol-specific masquerading support will be built as modules.
#
CONFIG_IP_MASQUERADE_ICMP=y
#
# Protocol-specific masquerading support will be built as modules.
#
# CONFIG_IP_MASQUERADE_MOD is not set
# CONFIG_IP_ROUTER is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_ALIAS is not set
CONFIG_SYN_COOKIES=y
#
# (it is safe to leave these untouched)
#
# CONFIG_INET_RARP is not set
# CONFIG_SKB_LARGE is not set
# CONFIG_IPV6 is not set
#
#
#
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_BRIDGE is not set
# CONFIG_LLC is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
# CONFIG_NET_HW_FLOWCONTROL is not set
# CONFIG_CPU_IS_SLOW is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
#
# Amateur Radio support
#
# CONFIG_HAMRADIO is not set
#
# IrDA subsystem support
#
# CONFIG_IRDA is not set
#
# Network device support
#
CONFIG_NETDEVICES=y
# CONFIG_ARCNET is not set
# CONFIG_DUMMY is not set
# CONFIG_EQUALIZER is not set
CONFIG_NET_ETHERNET=y
CONFIG_ARM_AM79C961A=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_RTL8139 is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_ACENIC is not set
# CONFIG_NET_ISA is not set
# CONFIG_NET_EISA is not set
# CONFIG_NET_POCKET is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_DLCI is not set
# CONFIG_PLIP is not set
CONFIG_PPP=y
#
# CCP compressors for PPP are only built as modules.
#
# CONFIG_SLIP is not set
# CONFIG_NET_RADIO is not set
# CONFIG_TR is not set
# CONFIG_SHAPER is not set
# CONFIG_HOSTESS_SV11 is not set
# CONFIG_COSA is not set
# CONFIG_RCPCI is not set
#
# SCSI support
#
# CONFIG_SCSI is not set
#
# Filesystems
#
# CONFIG_QUOTA is not set
CONFIG_AUTOFS_FS=m
# CONFIG_ADFS_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_MINIX_FS=y
# CONFIG_NTFS_FS is not set
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
# CONFIG_QNX4FS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_EXT2_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
#
# Network File Systems
#
# CONFIG_CODA_FS is not set
CONFIG_NFS_FS=y
CONFIG_ROOT_NFS=y
# CONFIG_NFSD is not set
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
# CONFIG_SMB_FS is not set
# CONFIG_NCP_FS is not set
#
# Partition Types
#
# CONFIG_OSF_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
# CONFIG_MSDOS_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ACORN_PARTITION is not set
# CONFIG_NLS is not set
#
# Kernel hacking
#
CONFIG_FRAME_POINTER=y
CONFIG_DEBUG_ERRORS=y
# CONFIG_DEBUG_USER is not set
# CONFIG_DEBUG_INFO is not set
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_ARTHUR is not set
# CONFIG_DEBUG_LL is not set
This diff is collapsed.
This diff is collapsed.
......@@ -20,7 +20,7 @@ O_OBJS_arc = dma-arc.o iic.o fiq.o oldlatches.o
O_OBJS_a5k = dma-a5k.o iic.o fiq.o
O_OBJS_rpc = dma-rpc.o iic.o fiq.o
O_OBJS_ebsa110 = dma-dummy.o
O_OBJS_footbridge = dma-footbridge.o $(ISA_DMA_OBJS)
O_OBJS_footbridge = dma-footbridge.o $(ISA_DMA_OBJS) isa.o
O_OBJS_nexuspci = dma-dummy.o
OX_OBJS_arc = dma.o
......
......@@ -116,10 +116,6 @@ EXPORT_SYMBOL(insb);
EXPORT_SYMBOL(insw);
EXPORT_SYMBOL(insl);
EXPORT_SYMBOL(_memcpy_fromio);
EXPORT_SYMBOL(_memcpy_toio);
EXPORT_SYMBOL(_memset_io);
/* address translation */
#ifndef __virt_to_phys__is_a_macro
EXPORT_SYMBOL(__virt_to_phys);
......
......@@ -157,8 +157,8 @@
/* 145 */ .long SYMBOL_NAME(sys_readv)
.long SYMBOL_NAME(sys_writev)
.long SYMBOL_NAME(sys_getsid)
.long SYMBOL_NAME(sys_ni_syscall)
.long SYMBOL_NAME(sys_ni_syscall)
.long SYMBOL_NAME(sys_fdatasync)
.long SYMBOL_NAME(sys_sysctl)
/* 150 */ .long SYMBOL_NAME(sys_mlock)
.long SYMBOL_NAME(sys_munlock)
.long SYMBOL_NAME(sys_mlockall)
......
......@@ -100,7 +100,7 @@ void arch_enable_dma(dmach_t channel, dma_t *dma)
int arch_get_dma_residue(dmach_t channel, dma_t *dma)
{
switch (channel) {
#ifdef CONFIG_BLK_DEV_FD
#ifdef CONFIG_BLK_DEV_FD1772
case DMA_VIRTUAL_FLOPPY0: { /* Data DMA */
extern unsigned int fdc1772_bytestogo;
......
......@@ -244,6 +244,10 @@ irq_prio_ebsa110:
movne \irqnr, #IRQ_PCI
bne 1001f
tst \irqstat, #IRQ_MASK_DOORBELLHOST
movne \irqnr, #IRQ_DOORBELLHOST
bne 1001f
tst \irqstat, #IRQ_MASK_I2OINPOST
movne \irqnr, #IRQ_I2OINPOST
bne 1001f
......
......@@ -132,7 +132,8 @@ ENTRY(sys_call_table)
SYMBOL_NAME(sys_syscall):
eor r6, r0, #OS_NUMBER << 20
cmp r6, #NR_syscalls @ check range
ldmleib sp, {r0 - r4} @ get our args
add ip, sp, #4
ldmleib ip, {r0 - r4} @ get our args
strle r4, [sp] @ Put our arg on the stack
ldrle pc, [r5, r6, lsl #2]
mov r0, #-ENOSYS
......
......@@ -72,6 +72,8 @@ ENTRY(_stext)
* r1 = 6 -> CATS
* r1 = 7 -> tbox
* r1 = 8 -> SA110/21285 as co-processor
* r1 = 9 -> CL-PS7110 system
* r1 = 12 -> SA1100 based system
*/
__entry: teq r0, #0 @ check for illegal entry...
......@@ -245,6 +247,12 @@ __entry: teq r0, #0 @ check for illegal entry...
.long DC21285_ARMCSR_BASE @ Physical I/O base address
.long 0x7cf00000 >> 18 @ Virtual I/O base address
@ SA1100
.long SYMBOL_NAME(swapper_pg_dir) - 0xc0000000 + 0xc0000000
.long 0xc0000000
.long 0x80000000 @ IO mapping will change when kernel gets on its feet
.long 0x3800
.LCProcTypes: @ ARM6 / 610
.long 0x41560600
.long 0xffffff00
......@@ -266,9 +274,9 @@ __entry: teq r0, #0 @ check for illegal entry...
b .Larmv3_flush_late @ arm v3 flush & ctrl late setup
mov pc, lr
@ StrongARM
.long 0x4401a100
.long 0xfffffff0
@ StrongARM-110 and StrongARM-1100
.long 0x4401a100 @ 4401a100 and 4401a110
.long 0xffffffe0
.long 0x00000c02
b .Larmv4_flush_early
b .Lsa_fastclock
......
......@@ -866,8 +866,63 @@ EXPORT_SYMBOL(cpld_modify);
#define DEFAULT_LEDS GPIO_GREEN_LED
#endif
/*
* CATS stuff
*/
#ifdef CONFIG_CATS
#define CONFIG_PORT 0x370
#define INDEX_PORT (CONFIG_PORT)
#define DATA_PORT (CONFIG_PORT + 1)
static void __init cats_hw_init(void)
{
/* Set Aladdin to CONFIGURE mode */
outb(0x51, CONFIG_PORT);
outb(0x23, CONFIG_PORT);
/* Select logical device 3 */
outb(0x07, INDEX_PORT);
outb(0x03, DATA_PORT);
/* Set parallel port to DMA channel 3, ECP+EPP1.9,
enable EPP timeout */
outb(0x74, INDEX_PORT);
outb(0x03, DATA_PORT);
outb(0xf0, INDEX_PORT);
outb(0x0f, DATA_PORT);
outb(0xf1, INDEX_PORT);
outb(0x07, DATA_PORT);
/* Select logical device 4 */
outb(0x07, INDEX_PORT);
outb(0x04, DATA_PORT);
/* UART1 high speed mode */
outb(0xf0, INDEX_PORT);
outb(0x02, DATA_PORT);
/* Select logical device 5 */
outb(0x07, INDEX_PORT);
outb(0x05, DATA_PORT);
/* UART2 high speed mode */
outb(0xf0, INDEX_PORT);
outb(0x02, DATA_PORT);
/* Set Aladdin to RUN mode */
outb(0xbb, CONFIG_PORT);
}
#endif
__initfunc(void hw_init(void))
{
extern void register_isa_ports(unsigned int, unsigned int,
unsigned int);
register_isa_ports(DC21285_PCI_MEM, DC21285_PCI_IO, 0);
#ifdef CONFIG_ARCH_NETWINDER
/*
* this ought to have a better home...
......@@ -889,5 +944,8 @@ __initfunc(void hw_init(void))
}
#endif
if (machine_is_cats())
cats_hw_init();
leds_event(led_start);
}
/*
* arch/arm/kernel/isa.c
*
* ISA shared memory and I/O port support
*
* Copyright (C) 1999 Phil Blundell
*/
/*
* Nothing about this is actually ARM specific. One day we could move
* it into kernel/resource.c or some place like that.
*/
#include <linux/stddef.h>
#include <linux/types.h>
#include <linux/linkage.h>
#include <linux/fs.h>
#include <linux/sysctl.h>
#include <linux/init.h>
static unsigned int isa_membase, isa_portbase, isa_portshift;
static ctl_table ctl_isa_vars[4] = {
{BUS_ISA_MEM_BASE, "membase", &isa_membase,
sizeof(isa_membase), 0444, NULL, &proc_dointvec},
{BUS_ISA_PORT_BASE, "portbase", &isa_portbase,
sizeof(isa_portbase), 0444, NULL, &proc_dointvec},
{BUS_ISA_PORT_SHIFT, "portshift", &isa_portshift,
sizeof(isa_portshift), 0444, NULL, &proc_dointvec},
{0}
};
static struct ctl_table_header *isa_sysctl_header;
static ctl_table ctl_isa[2] = {{BUS_ISA, "isa", NULL, 0, 0555, ctl_isa_vars},
{0}};
static ctl_table ctl_bus[2] = {{CTL_BUS, "bus", NULL, 0, 0555, ctl_isa},
{0}};
__initfunc(void
register_isa_ports(unsigned int membase, unsigned int portbase, unsigned int portshift))
{
isa_membase = membase;
isa_portbase = portbase;
isa_portshift = portshift;
isa_sysctl_header = register_sysctl_table(ctl_bus, 0);
}
......@@ -33,8 +33,9 @@ static char led_state;
static char hw_led_state;
static spinlock_t leds_lock = SPIN_LOCK_UNLOCKED;
extern spinlock_t gpio_lock;
#ifdef CONFIG_ARCH_EBSA285
#ifdef CONFIG_FOOTBRIDGE
static void __ebsa285_text ebsa285_leds_event(led_event_t evt)
{
......@@ -226,8 +227,9 @@ __initfunc(void
init_leds_event(led_event_t evt))
{
switch (machine_arch_type) {
#ifdef CONFIG_ARCH_EBSA285
#ifdef CONFIG_FOOTBRIDGE
case MACH_TYPE_EBSA285:
case MACH_TYPE_CO285:
leds_event = ebsa285_leds_event;
break;
#endif
......
......@@ -209,8 +209,7 @@ void flush_thread(void)
{
int i;
for (i = 0; i < NR_DEBUGS; i++)
current->tss.debug[i] = 0;
memset(&current->tss.debug, 0, sizeof(current->tss.debug));
current->used_math = 0;
current->flags &= ~PF_USEDFPU;
}
......@@ -255,8 +254,6 @@ int dump_fpu (struct pt_regs *regs, struct user_fp *fp)
*/
void dump_thread(struct pt_regs * regs, struct user * dump)
{
int i;
dump->magic = CMAGIC;
dump->start_code = current->mm->start_code;
dump->start_stack = regs->ARM_sp & ~(PAGE_SIZE - 1);
......@@ -265,8 +262,11 @@ void dump_thread(struct pt_regs * regs, struct user * dump)
dump->u_dsize = (current->mm->brk - current->mm->start_data + PAGE_SIZE - 1) >> PAGE_SHIFT;
dump->u_ssize = 0;
for (i = 0; i < NR_DEBUGS; i++)
dump->u_debugreg[i] = current->tss.debug[i];
dump->u_debugreg[0] = current->tss.debug.bp[0].address;
dump->u_debugreg[1] = current->tss.debug.bp[1].address;
dump->u_debugreg[2] = current->tss.debug.bp[0].insn;
dump->u_debugreg[3] = current->tss.debug.bp[1].insn;
dump->u_debugreg[4] = current->tss.debug.nsaved;
if (dump->start_stack < 0x04000000)
dump->u_ssize = (0x04000000 - dump->start_stack) >> PAGE_SHIFT;
......
This diff is collapsed.
......@@ -309,7 +309,8 @@ setup_arch(char **cmdline_p, unsigned long * memory_start_p, unsigned long * mem
case MACH_TYPE_EBSA110:
/* EBSA110 locks if we execute 'wait for interrupt' */
disable_hlt();
params = NULL;
if (params && params->u1.s.page_size != 4096)
params = NULL;
break;
case MACH_TYPE_EBSA285:
......
......@@ -76,6 +76,25 @@ unsigned long mktime(unsigned int year, unsigned int mon,
)*60 + sec; /* finally seconds */
}
/*
* Handle profile stuff...
*/
static void do_profile(unsigned long pc)
{
if (prof_buffer && current->pid) {
extern int _stext;
pc -= (unsigned long)&_stext;
pc >>= prof_shift;
if (pc >= prof_len)
pc = prof_len - 1;
prof_buffer[pc] += 1;
}
}
#include <asm/arch/time.h>
static unsigned long do_gettimeoffset(void)
......
......@@ -387,3 +387,9 @@ asmlinkage void baddataabort(int code, unsigned long instr, struct pt_regs *regs
code, regs->ARM_pc, instr, regs->ARM_lr, regs->ARM_sp);
}
#endif
asmlinkage void __div0(void)
{
printk("Awooga, division by zero in kernel.\n");
__backtrace();
}
......@@ -5,7 +5,7 @@
#
L_TARGET := lib.a
L_OBJS := backtrace.o bitops.o checksum.o delay.o io.o memcpy.o \
L_OBJS := backtrace.o bitops.o checksum.o delay.o memcpy.o \
semaphore.o string.o system.o uaccess.o
ifeq ($(PROCESSOR),armo)
......@@ -24,6 +24,8 @@ endif
ifeq ($(MACHINE),ebsa110)
L_OBJS += io-ebsa110.o
else
LX_OBJS += io.o
endif
ifeq ($(MACHINE),footbridge)
......
#include <linux/module.h>
#include <asm/io.h>
/*
......@@ -40,3 +42,8 @@ void _memset_io(unsigned long dst, int c, unsigned long count)
dst++;
}
}
EXPORT_SYMBOL(_memcpy_fromio);
EXPORT_SYMBOL(_memcpy_toio);
EXPORT_SYMBOL(_memset_io);
......@@ -247,7 +247,7 @@ void free_initmem (void)
(unsigned long)(&__netwinder_end),
"netwinder");
if (!machine_is_ebsa285() && !machine_is_cats())
if (!machine_is_ebsa285() && !machine_is_cats() && !machine_is_co285())
free_area((unsigned long)(&__ebsa285_begin),
(unsigned long)(&__ebsa285_end),
"ebsa285/cats");
......
......@@ -153,11 +153,9 @@ ENTRY(lcall7)
ALIGN
.globl ret_from_fork
ret_from_fork:
#ifdef __SMP__
pushl %ebx
call SYMBOL_NAME(schedule_tail)
addl $4, %esp
#endif /* __SMP__ */
GET_CURRENT(%ebx)
jmp ret_from_sys_call
......
......@@ -31,6 +31,5 @@ union task_union init_task_union
* section. Since TSS's are completely CPU-local, we want them
* on exact cacheline boundaries, to eliminate cacheline ping-pong.
*/
struct hard_thread_struct init_tss[NR_CPUS] __cacheline_aligned =
{ [0 ... NR_CPUS-1] = INIT_TSS };
struct tss_struct init_tss[NR_CPUS] __cacheline_aligned = { [0 ... NR_CPUS-1] = INIT_TSS };
......@@ -54,8 +54,8 @@ static void set_bitmap(unsigned long *bitmap, short base, short extent, int new_
*/
asmlinkage int sys_ioperm(unsigned long from, unsigned long num, int turn_on)
{
struct soft_thread_struct * t = &current->thread;
struct hard_thread_struct * tss = init_tss + smp_processor_id();
struct thread_struct * t = &current->thread;
struct tss_struct * tss = init_tss + smp_processor_id();
if ((from + num <= from) || (from + num > IO_BITMAP_SIZE*32))
return -EINVAL;
......
......@@ -332,7 +332,7 @@ __initfunc(void mca_init(void))
restore_flags(flags);
for (i = 0; i < MCA_STANDARD_RESOURCES; i++)
request_resource(&pci_io_resource, mca_standard_resources + i);
request_resource(&ioport_resource, mca_standard_resources + i);
#ifdef CONFIG_PROC_FS
mca_do_proc_init();
......
......@@ -512,7 +512,7 @@ void forget_segments(void)
/*
* Load the LDT entry of init_task.
*/
load_LDT(init_task.mm);
load_LDT(&init_mm);
}
/*
......@@ -539,7 +539,7 @@ int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
:"=&a" (retval), "=&S" (d0)
:"0" (__NR_clone), "i" (__NR_exit),
"r" (arg), "r" (fn),
"b" (flags | CLONE_VM | CLONE_TLB)
"b" (flags | CLONE_VM)
: "memory");
return retval;
}
......@@ -566,13 +566,15 @@ void flush_thread(void)
void release_thread(struct task_struct *dead_task)
{
void * ldt = dead_task->mm->segments;
if (dead_task->mm) {
void * ldt = dead_task->mm->segments;
// temporary debugging check
if (ldt) {
printk("WARNING: dead process %8s still has LDT? <%p>\n",
dead_task->comm, ldt);
BUG();
// temporary debugging check
if (ldt) {
printk("WARNING: dead process %8s still has LDT? <%p>\n",
dead_task->comm, ldt);
BUG();
}
}
}
......@@ -735,9 +737,9 @@ void dump_thread(struct pt_regs * regs, struct user * dump)
extern int cpus_initialized;
void __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
{
struct soft_thread_struct *prev = &prev_p->thread,
struct thread_struct *prev = &prev_p->thread,
*next = &next_p->thread;
struct hard_thread_struct *tss = init_tss + smp_processor_id();
struct tss_struct *tss = init_tss + smp_processor_id();
unlazy_fpu(prev_p);
......@@ -753,8 +755,10 @@ void __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
asm volatile("movl %%fs,%0":"=m" (*(int *)&prev->fs));
asm volatile("movl %%gs,%0":"=m" (*(int *)&prev->gs));
/* Re-load LDT if necessary */
if (prev_p->mm->segments != next_p->mm->segments)
/*
* Re-load LDT if necessary
*/
if (prev_p->active_mm->segments != next_p->active_mm->segments)
load_LDT(next_p->mm);
/* Re-load page tables */
......
......@@ -390,7 +390,7 @@ __initfunc(void setup_arch(char **cmdline_p,
/* request I/O space for devices used on all i[345]86 PCs */
for (i = 0; i < STANDARD_RESOURCES; i++)
request_resource(&pci_io_resource, standard_resources+i);
request_resource(&ioport_resource, standard_resources+i);
request_resource(keyboard_resources, &kbd_status_resource);
#ifdef CONFIG_VT
......@@ -1010,7 +1010,7 @@ unsigned long cpu_initialized = 0;
void cpu_init (void)
{
int nr = smp_processor_id();
struct hard_thread_struct * t = &init_tss[nr];
struct tss_struct * t = &init_tss[nr];
if (test_and_set_bit(nr,&cpu_initialized)) {
printk("CPU#%d ALREADY INITIALIZED!!!!!!!!!\n", nr);
......@@ -1033,12 +1033,13 @@ void cpu_init (void)
/*
* set up and load the per-CPU TSS and LDT
*/
mmget(&init_mm);
current->active_mm = &init_mm;
t->esp0 = current->thread.esp0;
set_tss_desc(nr,t);
gdt_table[__TSS(nr)].b &= 0xfffffdff;
load_TR(nr);
load_LDT(current->mm);
load_LDT(&init_mm);
/*
* Clear all 6 debug registers:
......
......@@ -199,6 +199,9 @@ void die(const char * str, struct pt_regs * regs, long err)
spin_lock_irq(&die_lock);
printk("%s: %04lx\n", str, err & 0xffff);
show_registers(regs);
spin_lock_irq(&die_lock);
spin_unlock_irq(&die_lock);
do_exit(SIGSEGV);
}
......
......@@ -65,7 +65,7 @@
asmlinkage struct pt_regs * FASTCALL(save_v86_state(struct kernel_vm86_regs * regs));
struct pt_regs * save_v86_state(struct kernel_vm86_regs * regs)
{
struct hard_thread_struct *tss;
struct tss_struct *tss;
struct pt_regs *ret;
unsigned long tmp;
......@@ -211,7 +211,7 @@ asmlinkage int sys_vm86(unsigned long subfunction, struct vm86plus_struct * v86)
static void do_sys_vm86(struct kernel_vm86_struct *info, struct task_struct *tsk)
{
struct hard_thread_struct *tss;
struct tss_struct *tss;
/*
* make sure the vm86() system call doesn't try to do anything silly
*/
......
......@@ -109,7 +109,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long error_code)
* If we're in an interrupt or have no user
* context, we must not take the fault..
*/
if (in_interrupt() || mm == &init_mm)
if (in_interrupt() || !mm)
goto no_context;
down(&mm->mmap_sem);
......
......@@ -330,7 +330,6 @@ __initfunc(void test_wp_bit(void))
printk("Checking if this processor honours the WP bit even in supervisor mode... ");
pg0[0] = pte_val(mk_pte(PAGE_OFFSET, PAGE_READONLY));
local_flush_tlb();
current->mm->mmap->vm_start += PAGE_SIZE;
__asm__ __volatile__(
"jmp 1f; 1:\n"
"movb %0,%1\n"
......@@ -342,7 +341,6 @@ __initfunc(void test_wp_bit(void))
:"memory");
pg0[0] = old;
local_flush_tlb();
current->mm->mmap->vm_start -= PAGE_SIZE;
if (boot_cpu_data.wp_works_ok < 0) {
boot_cpu_data.wp_works_ok = 0;
printk("No.\n");
......
......@@ -732,9 +732,9 @@ static inline int do_load_irix_binary(struct linux_binprm * bprm,
if(retval) {
set_fs(old_fs);
printk("Unable to load IRIX ELF interpreter\n");
kfree(elf_phdata);
send_sig(SIGSEGV, current, 0);
return 0;
retval = 0;
goto out_file;
}
}
......
This diff is collapsed.
......@@ -50,10 +50,6 @@
#define min(a,b) ((a) < (b) ? (a) : (b))
#endif
/* The device minor encodes the parport number and (arbitrary)
* pardevice number as (port << 4) | dev. */
#define PP_PORT(minor) ((minor >> 4) & 0xf)
struct pp_struct {
struct pardevice * pdev;
wait_queue_head_t irq_wait;
......@@ -176,7 +172,7 @@ static ssize_t pp_read (struct file * file, char * buf, size_t count,
if (!(pp->flags & PP_CLAIMED)) {
/* Don't have the port claimed */
printk (KERN_DEBUG CHRDEV "%02x: claim the port first\n",
printk (KERN_DEBUG CHRDEV "%x: claim the port first\n",
minor);
return -EINVAL;
}
......@@ -230,7 +226,7 @@ static ssize_t pp_write (struct file * file, const char * buf, size_t count,
if (!(pp->flags & PP_CLAIMED)) {
/* Don't have the port claimed */
printk (KERN_DEBUG CHRDEV "%02x: claim the port first\n",
printk (KERN_DEBUG CHRDEV "%x: claim the port first\n",
minor);
return -EINVAL;
}
......@@ -281,7 +277,6 @@ static void pp_irq (int irq, void * private, struct pt_regs * unused)
static int register_device (int minor, struct pp_struct *pp)
{
unsigned int portnum = PP_PORT (minor);
struct parport * port;
struct pardevice * pdev = NULL;
char *name;
......@@ -291,10 +286,10 @@ static int register_device (int minor, struct pp_struct *pp)
if (name == NULL)
return -ENOMEM;
sprintf (name, CHRDEV "%02x", minor);
sprintf (name, CHRDEV "%x", minor);
port = parport_enumerate (); /* FIXME: use attach/detach */
while (port && port->number != portnum)
while (port && port->number != minor)
port = port->next;
if (!port) {
......@@ -329,7 +324,7 @@ static int pp_ioctl(struct inode *inode, struct file *file,
if (cmd == PPCLAIM) {
if (pp->flags & PP_CLAIMED) {
printk (KERN_DEBUG CHRDEV
"%02x: you've already got it!\n", minor);
"%x: you've already got it!\n", minor);
return -EINVAL;
}
......@@ -351,7 +346,7 @@ static int pp_ioctl(struct inode *inode, struct file *file,
if (cmd == PPEXCL) {
if (pp->pdev) {
printk (KERN_DEBUG CHRDEV "%02x: too late for PPEXCL; "
printk (KERN_DEBUG CHRDEV "%x: too late for PPEXCL; "
"already registered\n", minor);
if (pp->flags & PP_EXCL)
/* But it's not really an error. */
......@@ -378,7 +373,7 @@ static int pp_ioctl(struct inode *inode, struct file *file,
/* Everything else requires the port to be claimed, so check
* that now. */
if ((pp->flags & PP_CLAIMED) == 0) {
printk (KERN_DEBUG CHRDEV "%02x: claim the port first\n",
printk (KERN_DEBUG CHRDEV "%x: claim the port first\n",
minor);
return -EINVAL;
}
......@@ -454,7 +449,7 @@ static int pp_ioctl(struct inode *inode, struct file *file,
return ret;
default:
printk (KERN_DEBUG CHRDEV "%02x: What? (cmd=0x%x)\n", minor,
printk (KERN_DEBUG CHRDEV "%x: What? (cmd=0x%x)\n", minor,
cmd);
return -EINVAL;
}
......@@ -466,10 +461,9 @@ static int pp_ioctl(struct inode *inode, struct file *file,
static int pp_open (struct inode * inode, struct file * file)
{
unsigned int minor = MINOR (inode->i_rdev);
unsigned int portnum = PP_PORT (minor);
struct pp_struct *pp;
if (portnum >= PARPORT_MAX)
if (minor >= PARPORT_MAX)
return -ENXIO;
pp = kmalloc (GFP_KERNEL, sizeof (struct pp_struct));
......@@ -499,7 +493,7 @@ static int pp_release (struct inode * inode, struct file * file)
if (pp->flags & PP_CLAIMED) {
parport_release (pp->pdev);
printk (KERN_DEBUG CHRDEV "%02x: released pardevice because "
printk (KERN_DEBUG CHRDEV "%x: released pardevice because "
"user-space forgot\n", minor);
}
......@@ -507,7 +501,7 @@ static int pp_release (struct inode * inode, struct file * file)
kfree (pp->pdev->name);
parport_unregister_device (pp->pdev);
pp->pdev = NULL;
printk (KERN_DEBUG CHRDEV "%02x: unregistered pardevice\n",
printk (KERN_DEBUG CHRDEV "%x: unregistered pardevice\n",
minor);
}
......
......@@ -40,7 +40,7 @@ static void send_sig_all(int sig, int even_init)
struct task_struct *p;
for_each_task(p) {
if (p->pid && p->mm != &init_mm) { /* Not swapper nor kernel thread */
if (p->mm) { /* Not swapper nor kernel thread */
if (p->pid == 1 && even_init) /* Ugly hack to kill init */
p->pid = 0x8000;
force_sig(sig, p);
......
This diff is collapsed.
......@@ -845,7 +845,7 @@ register CRCCONTROL1 {
bit CRCENDCHKEN 0x20 /* CRC End Check Enable */
bit CRCREQCHKEN 0x10
bit TARGCRCENDEN 0x08 /* Enable End CRC transfer when target */
bit TARGCRCCNTEN 0x40 /* Enable CRC transfer when target */
bit TARGCRCCNTEN 0x04 /* Enable CRC transfer when target */
}
/*
......
......@@ -459,11 +459,11 @@
#define CRCCONTROL1 0x9d
#define CRCONSEEN 0x80
#define TARGCRCCNTEN 0x40
#define CRCVALCHKEN 0x40
#define CRCENDCHKEN 0x20
#define CRCREQCHKEN 0x10
#define TARGCRCENDEN 0x08
#define TARGCRCCNTEN 0x04
#define SCSIPHASE 0x9e
#define SP_STATUS 0x20
......
......@@ -214,6 +214,8 @@ shmiq_ioctl (struct inode *inode, struct file *f, unsigned int cmd, unsigned lon
goto bad_file;
v = shmiq_manage_file (file);
if (v<0)
fput(file);
return v;
/*
......
......@@ -231,7 +231,10 @@ static int acm_probe(struct usb_device *dev)
continue;
printk("USB ACM found\n");
usb_set_configuration(dev, dev->config[cfgnum].bConfigurationValue);
if (usb_set_configuration(dev, dev->config[cfgnum].bConfigurationValue)) {
printk (KERN_INFO " Failed usb_set_configuration: ACM\n");
continue;
}
acm->dev=dev;
acm->readendp=dev->config[cfgnum].altsetting[0].interface[1].endpoint[0].bEndpointAddress;
acm->writeendp=dev->config[cfgnum].altsetting[0].interface[1].endpoint[1].bEndpointAddress;
......
......@@ -81,7 +81,10 @@ static int usb_audio_probe(struct usb_device *dev)
endpoint = &interface->endpoint[0];
// usb_set_configuration(dev, dev->config[0].bConfigurationValue);
// if (usb_set_configuration(dev, dev->config[0].bConfigurationValue)) {
// printk (KERN_INFO " Failed usb_set_configuration: Audio\n");
// break;
// }
// usb_set_protocol(dev, 0);
// usb_set_idle(dev, 0, 0);
......@@ -92,8 +95,13 @@ static int usb_audio_probe(struct usb_device *dev)
aud);
list_add(&aud->list, &usb_audio_list);
return 0;
}
return 0;
if (aud)
kfree (aud);
return -1;
}
static void usb_audio_disconnect(struct usb_device *dev)
......
......@@ -23,7 +23,6 @@
#include <asm/io.h>
#include "usb.h"
#include "uhci.h"
#include "cpia.h"
#define MAX_FRAME_SIZE (384 * 288 * 3)
......@@ -478,10 +477,10 @@ printk("no frame available\n");
sbuf = &cpia->sbuf[cpia->receivesbuf];
uhci_unsched_isochronous(dev, sbuf->isodesc);
usb_unschedule_isochronous(dev, sbuf->isodesc);
/* Do something to it now */
sbuf->len = uhci_compress_isochronous(dev, sbuf->isodesc);
sbuf->len = usb_compress_isochronous(dev, sbuf->isodesc);
if (sbuf->len)
printk("%d bytes received\n", sbuf->len);
......@@ -498,7 +497,7 @@ printk("no frame available\n");
}
/* Reschedule this block of Isochronous desc */
uhci_sched_isochronous(dev, sbuf->isodesc, cpia->sbuf[(cpia->receivesbuf + 2) % 3].isodesc);
usb_schedule_isochronous(dev, sbuf->isodesc, cpia->sbuf[(cpia->receivesbuf + 2) % 3].isodesc);
/* Move to the next one */
cpia->receivesbuf = (cpia->receivesbuf + 1) % 3;
......@@ -521,18 +520,18 @@ int cpia_init_isoc(struct usb_cpia *cpia)
cpia->state = STATE_SCANNING;
/* Allocate all of the memory necessary */
cpia->sbuf[0].isodesc = uhci_alloc_isochronous(dev, usb_rcvisocpipe(dev,1), cpia->sbuf[0].data, STREAM_BUF_SIZE, 960, cpia_isoc_irq, cpia);
cpia->sbuf[1].isodesc = uhci_alloc_isochronous(dev, usb_rcvisocpipe(dev,1), cpia->sbuf[1].data, STREAM_BUF_SIZE, 960, cpia_isoc_irq, cpia);
cpia->sbuf[2].isodesc = uhci_alloc_isochronous(dev, usb_rcvisocpipe(dev,1), cpia->sbuf[2].data, STREAM_BUF_SIZE, 960, cpia_isoc_irq, cpia);
cpia->sbuf[0].isodesc = usb_allocate_isochronous(dev, usb_rcvisocpipe(dev,1), cpia->sbuf[0].data, STREAM_BUF_SIZE, 960, cpia_isoc_irq, cpia);
cpia->sbuf[1].isodesc = usb_allocate_isochronous(dev, usb_rcvisocpipe(dev,1), cpia->sbuf[1].data, STREAM_BUF_SIZE, 960, cpia_isoc_irq, cpia);
cpia->sbuf[2].isodesc = usb_allocate_isochronous(dev, usb_rcvisocpipe(dev,1), cpia->sbuf[2].data, STREAM_BUF_SIZE, 960, cpia_isoc_irq, cpia);
printk("isodesc[0] @ %p\n", cpia->sbuf[0].isodesc);
printk("isodesc[1] @ %p\n", cpia->sbuf[1].isodesc);
printk("isodesc[2] @ %p\n", cpia->sbuf[2].isodesc);
/* Schedule the queues */
uhci_sched_isochronous(dev, cpia->sbuf[0].isodesc, NULL);
uhci_sched_isochronous(dev, cpia->sbuf[1].isodesc, cpia->sbuf[0].isodesc);
uhci_sched_isochronous(dev, cpia->sbuf[2].isodesc, cpia->sbuf[1].isodesc);
usb_schedule_isochronous(dev, cpia->sbuf[0].isodesc, NULL);
usb_schedule_isochronous(dev, cpia->sbuf[1].isodesc, cpia->sbuf[0].isodesc);
usb_schedule_isochronous(dev, cpia->sbuf[2].isodesc, cpia->sbuf[1].isodesc);
if (usb_set_interface(cpia->dev, 1, 3)) {
printk("cpia_set_interface error\n");
......@@ -561,18 +560,18 @@ void cpia_stop_isoc(struct usb_cpia *cpia)
/* Set packet size to 0 */
if (usb_set_interface(cpia->dev, 1, 0)) {
printk("cpia_set_interface error\n");
return -EINVAL;
return /* -EINVAL */;
}
/* Unschedule all of the iso td's */
uhci_unsched_isochronous(dev, cpia->sbuf[2].isodesc);
uhci_unsched_isochronous(dev, cpia->sbuf[1].isodesc);
uhci_unsched_isochronous(dev, cpia->sbuf[0].isodesc);
usb_unschedule_isochronous(dev, cpia->sbuf[2].isodesc);
usb_unschedule_isochronous(dev, cpia->sbuf[1].isodesc);
usb_unschedule_isochronous(dev, cpia->sbuf[0].isodesc);
/* Delete them all */
uhci_delete_isochronous(dev, cpia->sbuf[2].isodesc);
uhci_delete_isochronous(dev, cpia->sbuf[1].isodesc);
uhci_delete_isochronous(dev, cpia->sbuf[0].isodesc);
usb_delete_isochronous(dev, cpia->sbuf[2].isodesc);
usb_delete_isochronous(dev, cpia->sbuf[1].isodesc);
usb_delete_isochronous(dev, cpia->sbuf[0].isodesc);
}
/* Video 4 Linux API */
......@@ -980,7 +979,7 @@ static long cpia_read(struct video_device *dev, char *buf, unsigned long count,
struct usb_cpia *cpia = (struct usb_cpia *)dev;
int len;
printk("cpia_read: %d bytes\n", count);
printk("cpia_read: %ld bytes\n", count);
#if 0
len = cpia_capture(cpia, buf, count);
......@@ -995,7 +994,7 @@ static int cpia_mmap(struct video_device *dev, const char *adr, unsigned long si
unsigned long start = (unsigned long)adr;
unsigned long page, pos;
printk("mmap: %d (%X) bytes\n", size, size);
printk("mmap: %ld (%lX) bytes\n", size, size);
if (size > (((2 * MAX_FRAME_SIZE) + PAGE_SIZE - 1) & ~(PAGE_SIZE - 1)))
return -EINVAL;
......@@ -1048,7 +1047,10 @@ static void usb_cpia_configure(struct usb_cpia *cpia)
unsigned char camerastat[8];
unsigned char *buf;
usb_set_configuration(dev, dev->config[0].bConfigurationValue);
if (usb_set_configuration(dev, dev->config[0].bConfigurationValue)) {
printk (KERN_INFO " Failed usb_set_configuration: CPIA\n");
return;
}
if (usb_cpia_get_version(dev, version)) {
printk("cpia_get_version error\n");
......
......@@ -26,10 +26,8 @@ static spinlock_t hub_list_lock = SPIN_LOCK_UNLOCKED;
/* List of hubs needing servicing */
static struct list_head hub_event_list;
#ifdef MODULE
/* List containing all of the hubs (for cleanup) */
static struct list_head all_hubs_list;
#endif
/* PID of khubd */
static int khubd_pid = 0;
......
......@@ -195,7 +195,10 @@ usb_kbd_probe(struct usb_device *dev)
kbd->dev = dev;
dev->private = kbd;
usb_set_configuration(dev, dev->config[0].bConfigurationValue);
if (usb_set_configuration(dev, dev->config[0].bConfigurationValue)) {
printk (KERN_INFO " Failed usb_set_configuration: kbd\n");
goto probe_err;
}
usb_set_protocol(dev, 0);
usb_set_idle(dev, 0, 0);
......@@ -206,9 +209,14 @@ usb_kbd_probe(struct usb_device *dev)
kbd);
list_add(&kbd->list, &usb_kbd_list);
return 0;
}
return 0;
probe_err:
if (kbd)
kfree (kbd);
return -1;
}
static void
......
......@@ -293,7 +293,10 @@ static int mouse_probe(struct usb_device *dev)
printk("USB mouse found\n");
usb_set_configuration(dev, dev->config[0].bConfigurationValue);
if (usb_set_configuration(dev, dev->config[0].bConfigurationValue)) {
printk (KERN_INFO " Failed usb_set_configuration: mouse\n");
return -1;
}
/* these are used to request the irq when the mouse is opened */
mouse->dev = dev;
......
......@@ -280,12 +280,44 @@ static struct usb_device *sohci_usb_allocate(struct usb_device *parent) {
}
static void *sohci_alloc_isochronous (struct usb_device *usb_dev, unsigned int pipe, void *data, int len, int maxsze, usb_device_irq completed, void *dev_id)
{
return NULL;
}
static void sohci_delete_isochronous (struct usb_device *dev, void *_isodesc)
{
return;
}
static int sohci_sched_isochronous (struct usb_device *usb_dev, void *_isodesc, void *_pisodesc)
{
return USB_ST_NOTSUPPORTED;
}
static int sohci_unsched_isochronous (struct usb_device *usb_dev, void *_isodesc)
{
return USB_ST_NOTSUPPORTED;
}
static int sohci_compress_isochronous (struct usb_device *usb_dev, void *_isodesc)
{
return USB_ST_NOTSUPPORTED;
}
struct usb_operations sohci_device_operations = {
sohci_usb_allocate,
sohci_usb_deallocate,
sohci_control_msg,
sohci_bulk_msg,
sohci_request_irq,
NULL, /* FIXME: should be release_irq/remove_irq */
sohci_alloc_isochronous,
sohci_delete_isochronous,
sohci_sched_isochronous,
sohci_unsched_isochronous,
sohci_compress_isochronous
};
......
......@@ -1571,6 +1571,32 @@ static int ohci_usb_deallocate(struct usb_device *usb_dev)
}
static void *ohci_alloc_isochronous (struct usb_device *usb_dev, unsigned int pipe, void *data, int len, int maxsze, usb_device_irq completed, void *dev_id)
{
return NULL;
}
static void ohci_delete_isochronous (struct usb_device *dev, void *_isodesc)
{
return;
}
static int ohci_sched_isochronous (struct usb_device *usb_dev, void *_isodesc, void *_pisodesc)
{
return USB_ST_NOTSUPPORTED;
}
static int ohci_unsched_isochronous (struct usb_device *usb_dev, void *_isodesc)
{
return USB_ST_NOTSUPPORTED;
}
static int ohci_compress_isochronous (struct usb_device *usb_dev, void *_isodesc)
{
return USB_ST_NOTSUPPORTED;
}
/*
* functions for the generic USB driver
*/
......@@ -1581,6 +1607,11 @@ struct usb_operations ohci_device_operations = {
ohci_bulk_msg,
ohci_request_irq,
ohci_release_irq,
ohci_alloc_isochronous,
ohci_delete_isochronous,
ohci_sched_isochronous,
ohci_unsched_isochronous,
ohci_compress_isochronous
};
......
......@@ -318,7 +318,7 @@ static int printer_probe(struct usb_device *dev)
}
if (usb_set_configuration(dev, dev->config[0].bConfigurationValue)) {
printk(KERN_INFO " Failed to set configuration\n");
printk(KERN_INFO " Failed usb_set_configuration: printer\n");
return -1;
}
#if 0
......
......@@ -43,9 +43,9 @@ void show_td(struct uhci_td * td)
spid = "?";
break;
}
printk("MaxLen=%x %sEndPt=%x Dev=%x, PID=%x(%s) ",
printk("MaxLen=%x DT%d EndPt=%x Dev=%x, PID=%x(%s) ",
td->info >> 21,
((td->info >> 19) & 1) ? "DT " : "",
((td->info >> 19) & 1),
(td->info >> 15) & 15,
(td->info >> 8) & 127,
(td->info & 0xff),
......
This diff is collapsed.
......@@ -53,6 +53,8 @@
#define USBPORTSC_PR 0x0200 /* Port Reset */
#define USBPORTSC_SUSP 0x1000 /* Suspend */
#define UHCI_NULL_DATA_SIZE 0x7ff /* for UHCI controller TD */
struct uhci_qh {
unsigned int link; /* Next queue */
unsigned int element; /* Queue element pointer */
......@@ -238,11 +240,5 @@ void show_td(struct uhci_td * td);
void show_status(struct uhci *uhci);
void show_queues(struct uhci *uhci);
int uhci_compress_isochronous(struct usb_device *usb_dev, void *_isodesc);
int uhci_unsched_isochronous(struct usb_device *usb_dev, void *_isodesc);
int uhci_sched_isochronous(struct usb_device *usb_dev, void *_isodesc, void *_pisodesc);
void *uhci_alloc_isochronous(struct usb_device *usb_dev, unsigned int pipe, void *data, int len, int maxsze, usb_device_irq completed, void *dev_id);
void uhci_delete_isochronous(struct usb_device *dev, void *_isodesc);
#endif
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -349,6 +349,9 @@ ncp_lookup_validate(struct dentry * dentry, int flags)
int len = dentry->d_name.len;
struct ncpfs_inode_info finfo;
__u8 __name[dentry->d_name.len + 1];
if (!dir)
return 0;
server = NCP_SERVER(dir);
......
......@@ -152,7 +152,7 @@ nfs_readpage_result(struct rpc_task *task)
fail++;
dprintk("NFS: %d successful reads, %d failures\n", succ, fail);
}
page->owner = (int)current; // HACK, FIXME, will go away.
page->owner = current; // HACK, FIXME, will go away.
UnlockPage(page);
free_page(address);
......
This diff is collapsed.
......@@ -167,6 +167,9 @@ static void timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
else
last_rtc_update = xtime.tv_sec - 600; /* do it again in 60 s */
}
if (!user_mode(regs))
do_profile(instruction_pointer(regs));
}
static struct irqaction timerirq = {
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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