Commit fa9fcf5f authored by Matthew Wilcox's avatar Matthew Wilcox Committed by Linus Torvalds

[PATCH] PA-RISC update

Updates for 2.6.4 for PARISC:

 - defconfigs (Randolph Chung)
 - copyright updates (Grant Grundler)
 - Fix DOS hole in sys_clone (James Bottomley)
 - missing hardware ID (Andy Walker)
 - disable interrupts during cache-flushes (LaMont Jones)
 - Fix crash on machines with <256MB ram (Randolph Chung)
 - Make SuckyIO IDE work better (Randolph Chung)
 - Align data_start so the extable is writable (Randolph Chung)
 - Extensive rewrite of virtual merging code (James Bottomley)
 - Fix EISA, non-PCI module builds (Matthew Wilcox)
 - Fix Elroy PCI config space byte & word writes (Grant Grundler)
 - Eliminate a warning in parport_gsc (Helge Deller)
 - Fix endian problem with ide mmio macros (Randolph Chung)
 - Delete asm/keyboard.h (Matthew Wilcox)
 - Delete asm/md.h (Grant Grundler)
 - Eliminate a warning in ALSA harmony (Matthew Wilcox)
parent 1e04a796
...@@ -22,6 +22,7 @@ CONFIG_SYSVIPC=y ...@@ -22,6 +22,7 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=15 CONFIG_LOG_BUF_SHIFT=15
# CONFIG_HOTPLUG is not set
# CONFIG_IKCONFIG is not set # CONFIG_IKCONFIG is not set
# CONFIG_EMBEDDED is not set # CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y CONFIG_KALLSYMS=y
...@@ -30,6 +31,7 @@ CONFIG_EPOLL=y ...@@ -30,6 +31,7 @@ CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_DEADLINE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
# #
# Loadable module support # Loadable module support
...@@ -64,7 +66,6 @@ CONFIG_GSC_WAX=y ...@@ -64,7 +66,6 @@ CONFIG_GSC_WAX=y
# CONFIG_PCI is not set # CONFIG_PCI is not set
# CONFIG_CHASSIS_LCD_LED is not set # CONFIG_CHASSIS_LCD_LED is not set
# CONFIG_PDC_CHASSIS is not set # CONFIG_PDC_CHASSIS is not set
# CONFIG_HOTPLUG is not set
# #
# Executable file formats # Executable file formats
...@@ -79,6 +80,7 @@ CONFIG_BINFMT_ELF=y ...@@ -79,6 +80,7 @@ CONFIG_BINFMT_ELF=y
# #
# Generic Driver Options # Generic Driver Options
# #
CONFIG_DEBUG_DRIVER=y
# #
# Memory Technology Devices (MTD) # Memory Technology Devices (MTD)
...@@ -99,7 +101,6 @@ CONFIG_PARPORT_GSC=y ...@@ -99,7 +101,6 @@ CONFIG_PARPORT_GSC=y
# #
# Plug and Play support # Plug and Play support
# #
# CONFIG_PNP is not set
# #
# Block devices # Block devices
...@@ -110,7 +111,6 @@ CONFIG_BLK_DEV_LOOP=y ...@@ -110,7 +111,6 @@ CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_CRYPTOLOOP=y CONFIG_BLK_DEV_CRYPTOLOOP=y
# CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_RAM is not set # CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_INITRD is not set
# #
# ATA/ATAPI/MFM/RLL support # ATA/ATAPI/MFM/RLL support
...@@ -144,7 +144,6 @@ CONFIG_CHR_DEV_SG=y ...@@ -144,7 +144,6 @@ CONFIG_CHR_DEV_SG=y
# #
# SCSI low-level drivers # SCSI low-level drivers
# #
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set # CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_EATA_PIO is not set # CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_PPA is not set # CONFIG_SCSI_PPA is not set
...@@ -170,12 +169,20 @@ CONFIG_MD_RAID5=y ...@@ -170,12 +169,20 @@ CONFIG_MD_RAID5=y
# #
# Fusion MPT device support # Fusion MPT device support
# #
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set
# #
# I2O device support # I2O device support
# #
#
# Macintosh device drivers
#
# #
# Networking support # Networking support
# #
...@@ -287,7 +294,7 @@ CONFIG_NET_RADIO=y ...@@ -287,7 +294,7 @@ CONFIG_NET_RADIO=y
# #
# ISDN subsystem # ISDN subsystem
# #
# CONFIG_ISDN_BOOL is not set # CONFIG_ISDN is not set
# #
# Telephony Support # Telephony Support
...@@ -318,8 +325,8 @@ CONFIG_INPUT_EVDEV=y ...@@ -318,8 +325,8 @@ CONFIG_INPUT_EVDEV=y
CONFIG_SOUND_GAMEPORT=y CONFIG_SOUND_GAMEPORT=y
CONFIG_SERIO=y CONFIG_SERIO=y
# CONFIG_SERIO_SERPORT is not set # CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set # CONFIG_SERIO_PARKBD is not set
CONFIG_SERIO_GSCPS2=y
# CONFIG_HP_SDC is not set # CONFIG_HP_SDC is not set
# #
...@@ -331,15 +338,17 @@ CONFIG_INPUT_KEYBOARD=y ...@@ -331,15 +338,17 @@ CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_HIL_OLD is not set # CONFIG_KEYBOARD_HIL_OLD is not set
# CONFIG_KEYBOARD_HIL is not set
CONFIG_INPUT_MOUSE=y CONFIG_INPUT_MOUSE=y
# CONFIG_MOUSE_PS2 is not set # CONFIG_MOUSE_PS2 is not set
# CONFIG_MOUSE_SERIAL is not set # CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_HIL is not set
# CONFIG_INPUT_JOYSTICK is not set # CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set # CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y CONFIG_INPUT_MISC=y
# CONFIG_INPUT_PCSPKR is not set # CONFIG_INPUT_PCSPKR is not set
# CONFIG_INPUT_UINPUT is not set # CONFIG_INPUT_UINPUT is not set
CONFIG_INPUT_GSC=y # CONFIG_HP_SDC_RTC is not set
# #
# Character devices # Character devices
...@@ -370,30 +379,13 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y ...@@ -370,30 +379,13 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256 CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_PRINTER=y CONFIG_PRINTER=y
# CONFIG_LP_CONSOLE is not set # CONFIG_LP_CONSOLE is not set
# CONFIG_PPDEV is not set # CONFIG_PPDEV is not set
# CONFIG_TIPAR is not set # CONFIG_TIPAR is not set
#
# I2C support
#
# CONFIG_I2C is not set
#
# I2C Algorithms
#
#
# I2C Hardware Bus support
#
#
# I2C Hardware Sensors Chip support
#
# CONFIG_I2C_SENSOR is not set
# #
# Mice # Mice
# #
...@@ -424,6 +416,15 @@ CONFIG_GEN_RTC=y ...@@ -424,6 +416,15 @@ CONFIG_GEN_RTC=y
# CONFIG_DRM is not set # CONFIG_DRM is not set
# CONFIG_RAW_DRIVER is not set # CONFIG_RAW_DRIVER is not set
#
# I2C support
#
# CONFIG_I2C is not set
#
# Misc devices
#
# #
# Multimedia devices # Multimedia devices
# #
...@@ -444,7 +445,6 @@ CONFIG_FB_STI=y ...@@ -444,7 +445,6 @@ CONFIG_FB_STI=y
# #
# Console display driver support # Console display driver support
# #
# CONFIG_VGA_CONSOLE is not set
# CONFIG_MDA_CONSOLE is not set # CONFIG_MDA_CONSOLE is not set
CONFIG_STI_CONSOLE=y CONFIG_STI_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=160 CONFIG_DUMMY_CONSOLE_COLUMNS=160
...@@ -474,6 +474,11 @@ CONFIG_LOGO_PARISC_CLUT224=y ...@@ -474,6 +474,11 @@ CONFIG_LOGO_PARISC_CLUT224=y
# USB support # USB support
# #
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
# #
# File systems # File systems
# #
...@@ -511,7 +516,6 @@ CONFIG_JOLIET=y ...@@ -511,7 +516,6 @@ CONFIG_JOLIET=y
# #
CONFIG_PROC_FS=y CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y CONFIG_PROC_KCORE=y
CONFIG_DEVPTS_FS=y
# CONFIG_DEVPTS_FS_XATTR is not set # CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y CONFIG_TMPFS=y
# CONFIG_HUGETLB_PAGE is not set # CONFIG_HUGETLB_PAGE is not set
...@@ -520,6 +524,7 @@ CONFIG_RAMFS=y ...@@ -520,6 +524,7 @@ CONFIG_RAMFS=y
# #
# Miscellaneous filesystems # Miscellaneous filesystems
# #
# CONFIG_HFSPLUS_FS is not set
# CONFIG_CRAMFS is not set # CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set # CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set # CONFIG_HPFS_FS is not set
...@@ -549,11 +554,11 @@ CONFIG_SUNRPC=y ...@@ -549,11 +554,11 @@ CONFIG_SUNRPC=y
# #
# CONFIG_PARTITION_ADVANCED is not set # CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y CONFIG_MSDOS_PARTITION=y
CONFIG_NLS=y
# #
# Native Language Support # Native Language Support
# #
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not set # CONFIG_NLS_CODEPAGE_437 is not set
# CONFIG_NLS_CODEPAGE_737 is not set # CONFIG_NLS_CODEPAGE_737 is not set
...@@ -628,6 +633,7 @@ CONFIG_CRYPTO=y ...@@ -628,6 +633,7 @@ CONFIG_CRYPTO=y
# CONFIG_CRYPTO_AES is not set # CONFIG_CRYPTO_AES is not set
# CONFIG_CRYPTO_CAST5 is not set # CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set # CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_TEST is not set # CONFIG_CRYPTO_TEST is not set
......
...@@ -23,6 +23,7 @@ CONFIG_SYSVIPC=y ...@@ -23,6 +23,7 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=16 CONFIG_LOG_BUF_SHIFT=16
CONFIG_HOTPLUG=y
CONFIG_IKCONFIG=y CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y CONFIG_IKCONFIG_PROC=y
CONFIG_EMBEDDED=y CONFIG_EMBEDDED=y
...@@ -72,7 +73,6 @@ CONFIG_IOMMU_SBA=y ...@@ -72,7 +73,6 @@ CONFIG_IOMMU_SBA=y
# CONFIG_SUPERIO is not set # CONFIG_SUPERIO is not set
CONFIG_CHASSIS_LCD_LED=y CONFIG_CHASSIS_LCD_LED=y
# CONFIG_PDC_CHASSIS is not set # CONFIG_PDC_CHASSIS is not set
CONFIG_HOTPLUG=y
# #
# PCMCIA/CardBus support # PCMCIA/CardBus support
...@@ -102,6 +102,7 @@ CONFIG_BINFMT_ELF=y ...@@ -102,6 +102,7 @@ CONFIG_BINFMT_ELF=y
# Generic Driver Options # Generic Driver Options
# #
# CONFIG_FW_LOADER is not set # CONFIG_FW_LOADER is not set
CONFIG_DEBUG_DRIVER=y
# #
# Memory Technology Devices (MTD) # Memory Technology Devices (MTD)
...@@ -116,7 +117,6 @@ CONFIG_BINFMT_ELF=y ...@@ -116,7 +117,6 @@ CONFIG_BINFMT_ELF=y
# #
# Plug and Play support # Plug and Play support
# #
# CONFIG_PNP is not set
# #
# Block devices # Block devices
...@@ -195,9 +195,15 @@ CONFIG_SCSI_SYM53C8XX_IOMAPPED=y ...@@ -195,9 +195,15 @@ CONFIG_SCSI_SYM53C8XX_IOMAPPED=y
CONFIG_SCSI_QLOGIC_FC=m CONFIG_SCSI_QLOGIC_FC=m
# CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set # CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set
CONFIG_SCSI_QLOGIC_1280=m CONFIG_SCSI_QLOGIC_1280=m
CONFIG_SCSI_QLA2XXX=y
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
CONFIG_SCSI_QLA2300=m
CONFIG_SCSI_QLA2322=m
CONFIG_SCSI_QLA6312=m
CONFIG_SCSI_QLA6322=m
# CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_NSP32 is not set
CONFIG_SCSI_DEBUG=m CONFIG_SCSI_DEBUG=m
# #
...@@ -215,6 +221,7 @@ CONFIG_MD_LINEAR=y ...@@ -215,6 +221,7 @@ CONFIG_MD_LINEAR=y
CONFIG_MD_RAID0=y CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y CONFIG_MD_RAID1=y
# CONFIG_MD_RAID5 is not set # CONFIG_MD_RAID5 is not set
# CONFIG_MD_RAID6 is not set
# CONFIG_MD_MULTIPATH is not set # CONFIG_MD_MULTIPATH is not set
# CONFIG_BLK_DEV_DM is not set # CONFIG_BLK_DEV_DM is not set
...@@ -227,14 +234,17 @@ CONFIG_FUSION_ISENSE=m ...@@ -227,14 +234,17 @@ CONFIG_FUSION_ISENSE=m
CONFIG_FUSION_CTL=m CONFIG_FUSION_CTL=m
# #
# IEEE 1394 (FireWire) support (EXPERIMENTAL) # IEEE 1394 (FireWire) support
# #
# CONFIG_IEEE1394 is not set # CONFIG_IEEE1394 is not set
# #
# I2O device support # I2O device support
# #
# CONFIG_I2O is not set
#
# Macintosh device drivers
#
# #
# Networking support # Networking support
...@@ -362,7 +372,7 @@ CONFIG_LLC2=m ...@@ -362,7 +372,7 @@ CONFIG_LLC2=m
# #
# Network testing # Network testing
# #
# CONFIG_NET_PKTGEN is not set CONFIG_NET_PKTGEN=m
CONFIG_NETDEVICES=y CONFIG_NETDEVICES=y
# #
...@@ -391,9 +401,10 @@ CONFIG_TYPHOON=m ...@@ -391,9 +401,10 @@ CONFIG_TYPHOON=m
# #
CONFIG_NET_TULIP=y CONFIG_NET_TULIP=y
CONFIG_DE2104X=m CONFIG_DE2104X=m
CONFIG_TULIP=y CONFIG_TULIP=m
# CONFIG_TULIP_MWI is not set # CONFIG_TULIP_MWI is not set
CONFIG_TULIP_MMIO=y CONFIG_TULIP_MMIO=y
# CONFIG_TULIP_NAPI is not set
# CONFIG_DE4X5 is not set # CONFIG_DE4X5 is not set
# CONFIG_WINBOND_840 is not set # CONFIG_WINBOND_840 is not set
# CONFIG_DM9102 is not set # CONFIG_DM9102 is not set
...@@ -405,10 +416,12 @@ CONFIG_PCNET32=m ...@@ -405,10 +416,12 @@ CONFIG_PCNET32=m
# CONFIG_AMD8111_ETH is not set # CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set # CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set # CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_DGRS is not set # CONFIG_DGRS is not set
CONFIG_EEPRO100=m CONFIG_EEPRO100=m
# CONFIG_EEPRO100_PIO is not set # CONFIG_EEPRO100_PIO is not set
CONFIG_E100=m CONFIG_E100=m
CONFIG_E100_NAPI=y
# CONFIG_FEALNX is not set # CONFIG_FEALNX is not set
CONFIG_NATSEMI=m CONFIG_NATSEMI=m
# CONFIG_NE2K_PCI is not set # CONFIG_NE2K_PCI is not set
...@@ -418,6 +431,7 @@ CONFIG_8139TOO=m ...@@ -418,6 +431,7 @@ CONFIG_8139TOO=m
# CONFIG_8139TOO_TUNE_TWISTER is not set # CONFIG_8139TOO_TUNE_TWISTER is not set
# CONFIG_8139TOO_8129 is not set # CONFIG_8139TOO_8129 is not set
# CONFIG_8139_OLD_RX_RESET is not set # CONFIG_8139_OLD_RX_RESET is not set
CONFIG_8139_RXBUF_IDX=1
# CONFIG_SIS900 is not set # CONFIG_SIS900 is not set
CONFIG_EPIC100=m CONFIG_EPIC100=m
# CONFIG_SUNDANCE is not set # CONFIG_SUNDANCE is not set
...@@ -482,13 +496,13 @@ CONFIG_HERMES=m ...@@ -482,13 +496,13 @@ CONFIG_HERMES=m
CONFIG_PLX_HERMES=m CONFIG_PLX_HERMES=m
CONFIG_TMD_HERMES=m CONFIG_TMD_HERMES=m
CONFIG_PCI_HERMES=m CONFIG_PCI_HERMES=m
# CONFIG_ATMEL is not set
# #
# Wireless 802.11b Pcmcia/Cardbus cards support # Wireless 802.11b Pcmcia/Cardbus cards support
# #
CONFIG_PCMCIA_HERMES=m CONFIG_PCMCIA_HERMES=m
CONFIG_AIRO_CS=m CONFIG_AIRO_CS=m
# CONFIG_PCMCIA_ATMEL is not set
# CONFIG_PCMCIA_WL3501 is not set # CONFIG_PCMCIA_WL3501 is not set
CONFIG_NET_WIRELESS=y CONFIG_NET_WIRELESS=y
...@@ -535,7 +549,7 @@ CONFIG_PCMCIA_XIRC2PS=m ...@@ -535,7 +549,7 @@ CONFIG_PCMCIA_XIRC2PS=m
# #
# ISDN subsystem # ISDN subsystem
# #
# CONFIG_ISDN_BOOL is not set # CONFIG_ISDN is not set
# #
# Telephony Support # Telephony Support
...@@ -602,25 +616,7 @@ CONFIG_PDC_CONSOLE=y ...@@ -602,25 +616,7 @@ CONFIG_PDC_CONSOLE=y
CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256 # CONFIG_LEGACY_PTYS is not set
#
# I2C support
#
# CONFIG_I2C is not set
#
# I2C Algorithms
#
#
# I2C Hardware Bus support
#
#
# I2C Hardware Sensors Chip support
#
# CONFIG_I2C_SENSOR is not set
# #
# Mice # Mice
...@@ -658,6 +654,15 @@ CONFIG_GEN_RTC_X=y ...@@ -658,6 +654,15 @@ CONFIG_GEN_RTC_X=y
CONFIG_RAW_DRIVER=y CONFIG_RAW_DRIVER=y
CONFIG_MAX_RAW_DEVS=256 CONFIG_MAX_RAW_DEVS=256
#
# I2C support
#
# CONFIG_I2C is not set
#
# Misc devices
#
# #
# Multimedia devices # Multimedia devices
# #
...@@ -676,7 +681,6 @@ CONFIG_MAX_RAW_DEVS=256 ...@@ -676,7 +681,6 @@ CONFIG_MAX_RAW_DEVS=256
# #
# Console display driver support # Console display driver support
# #
# CONFIG_VGA_CONSOLE is not set
# CONFIG_MDA_CONSOLE is not set # CONFIG_MDA_CONSOLE is not set
# CONFIG_STI_CONSOLE is not set # CONFIG_STI_CONSOLE is not set
CONFIG_DUMMY_CONSOLE_COLUMNS=160 CONFIG_DUMMY_CONSOLE_COLUMNS=160
...@@ -692,6 +696,10 @@ CONFIG_DUMMY_CONSOLE=y ...@@ -692,6 +696,10 @@ CONFIG_DUMMY_CONSOLE=y
# USB support # USB support
# #
# CONFIG_USB is not set # CONFIG_USB is not set
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set # CONFIG_USB_GADGET is not set
# #
...@@ -711,6 +719,7 @@ CONFIG_JFS_FS=m ...@@ -711,6 +719,7 @@ CONFIG_JFS_FS=m
CONFIG_XFS_FS=m CONFIG_XFS_FS=m
# CONFIG_XFS_RT is not set # CONFIG_XFS_RT is not set
# CONFIG_XFS_QUOTA is not set # CONFIG_XFS_QUOTA is not set
# CONFIG_XFS_SECURITY is not set
# CONFIG_XFS_POSIX_ACL is not set # CONFIG_XFS_POSIX_ACL is not set
# CONFIG_MINIX_FS is not set # CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set # CONFIG_ROMFS_FS is not set
...@@ -740,7 +749,6 @@ CONFIG_VFAT_FS=m ...@@ -740,7 +749,6 @@ CONFIG_VFAT_FS=m
CONFIG_PROC_FS=y CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y CONFIG_PROC_KCORE=y
# CONFIG_DEVFS_FS is not set # CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS=y
# CONFIG_DEVPTS_FS_XATTR is not set # CONFIG_DEVPTS_FS_XATTR is not set
# CONFIG_TMPFS is not set # CONFIG_TMPFS is not set
# CONFIG_HUGETLBFS is not set # CONFIG_HUGETLBFS is not set
...@@ -753,6 +761,7 @@ CONFIG_RAMFS=y ...@@ -753,6 +761,7 @@ CONFIG_RAMFS=y
# CONFIG_ADFS_FS is not set # CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set # CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set # CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set # CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set # CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set # CONFIG_EFS_FS is not set
...@@ -876,6 +885,7 @@ CONFIG_CRYPTO_SERPENT=m ...@@ -876,6 +885,7 @@ CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_AES=m CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_CAST6=m
# CONFIG_CRYPTO_ARC4 is not set
CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_TEST=m CONFIG_CRYPTO_TEST=m
......
This diff is collapsed.
...@@ -23,6 +23,7 @@ CONFIG_SYSVIPC=y ...@@ -23,6 +23,7 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=16 CONFIG_LOG_BUF_SHIFT=16
CONFIG_HOTPLUG=y
CONFIG_IKCONFIG=y CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y CONFIG_IKCONFIG_PROC=y
CONFIG_EMBEDDED=y CONFIG_EMBEDDED=y
...@@ -71,7 +72,6 @@ CONFIG_IOMMU_SBA=y ...@@ -71,7 +72,6 @@ CONFIG_IOMMU_SBA=y
CONFIG_SUPERIO=y CONFIG_SUPERIO=y
# CONFIG_CHASSIS_LCD_LED is not set # CONFIG_CHASSIS_LCD_LED is not set
# CONFIG_PDC_CHASSIS is not set # CONFIG_PDC_CHASSIS is not set
CONFIG_HOTPLUG=y
# #
# PCMCIA/CardBus support # PCMCIA/CardBus support
...@@ -101,6 +101,7 @@ CONFIG_BINFMT_ELF=y ...@@ -101,6 +101,7 @@ CONFIG_BINFMT_ELF=y
# Generic Driver Options # Generic Driver Options
# #
CONFIG_FW_LOADER=y CONFIG_FW_LOADER=y
CONFIG_DEBUG_DRIVER=y
# #
# Memory Technology Devices (MTD) # Memory Technology Devices (MTD)
...@@ -128,7 +129,6 @@ CONFIG_BLK_DEV_LOOP=y ...@@ -128,7 +129,6 @@ CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_RAM is not set # CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_INITRD is not set
# #
# ATA/ATAPI/MFM/RLL support # ATA/ATAPI/MFM/RLL support
...@@ -153,6 +153,7 @@ CONFIG_BLK_DEV_IDESCSI=y ...@@ -153,6 +153,7 @@ CONFIG_BLK_DEV_IDESCSI=y
# #
# IDE chipset support/bugfixes # IDE chipset support/bugfixes
# #
CONFIG_IDE_GENERIC=y
CONFIG_BLK_DEV_IDEPCI=y CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set # CONFIG_BLK_DEV_OFFBOARD is not set
...@@ -161,7 +162,6 @@ CONFIG_IDEPCI_SHARE_IRQ=y ...@@ -161,7 +162,6 @@ CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set # CONFIG_BLK_DEV_IDEDMA_FORCED is not set
# CONFIG_IDEDMA_PCI_AUTO is not set # CONFIG_IDEDMA_PCI_AUTO is not set
# CONFIG_IDEDMA_PCI_WIP is not set
CONFIG_BLK_DEV_ADMA=y CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set # CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set # CONFIG_BLK_DEV_ALI15X3 is not set
...@@ -252,11 +252,13 @@ CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 ...@@ -252,11 +252,13 @@ CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
CONFIG_SCSI_QLOGIC_FC=m CONFIG_SCSI_QLOGIC_FC=m
# CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set # CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set
CONFIG_SCSI_QLOGIC_1280=m CONFIG_SCSI_QLOGIC_1280=m
CONFIG_SCSI_QLA2XXX_CONFIG=y CONFIG_SCSI_QLA2XXX=y
CONFIG_SCSI_QLA2XXX=m
# CONFIG_SCSI_QLA21XX is not set # CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set # CONFIG_SCSI_QLA22XX is not set
CONFIG_SCSI_QLA23XX=m CONFIG_SCSI_QLA2300=m
CONFIG_SCSI_QLA2322=m
CONFIG_SCSI_QLA6312=m
CONFIG_SCSI_QLA6322=m
# CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_NSP32 is not set # CONFIG_SCSI_NSP32 is not set
...@@ -280,8 +282,9 @@ CONFIG_MD_RAID0=y ...@@ -280,8 +282,9 @@ CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y CONFIG_MD_RAID1=y
# CONFIG_MD_RAID5 is not set # CONFIG_MD_RAID5 is not set
# CONFIG_MD_RAID6 is not set # CONFIG_MD_RAID6 is not set
# CONFIG_MD_MULTIPATH is not set CONFIG_MD_MULTIPATH=y
# CONFIG_BLK_DEV_DM is not set CONFIG_BLK_DEV_DM=y
# CONFIG_DM_CRYPT is not set
# #
# Fusion MPT device support # Fusion MPT device support
...@@ -292,7 +295,7 @@ CONFIG_FUSION_ISENSE=m ...@@ -292,7 +295,7 @@ CONFIG_FUSION_ISENSE=m
CONFIG_FUSION_CTL=m CONFIG_FUSION_CTL=m
# #
# IEEE 1394 (FireWire) support (EXPERIMENTAL) # IEEE 1394 (FireWire) support
# #
# CONFIG_IEEE1394 is not set # CONFIG_IEEE1394 is not set
...@@ -301,6 +304,10 @@ CONFIG_FUSION_CTL=m ...@@ -301,6 +304,10 @@ CONFIG_FUSION_CTL=m
# #
# CONFIG_I2O is not set # CONFIG_I2O is not set
#
# Macintosh device drivers
#
# #
# Networking support # Networking support
# #
...@@ -457,6 +464,7 @@ CONFIG_DE2104X=m ...@@ -457,6 +464,7 @@ CONFIG_DE2104X=m
CONFIG_TULIP=y CONFIG_TULIP=y
# CONFIG_TULIP_MWI is not set # CONFIG_TULIP_MWI is not set
# CONFIG_TULIP_MMIO is not set # CONFIG_TULIP_MMIO is not set
# CONFIG_TULIP_NAPI is not set
CONFIG_DE4X5=m CONFIG_DE4X5=m
CONFIG_WINBOND_840=m CONFIG_WINBOND_840=m
# CONFIG_DM9102 is not set # CONFIG_DM9102 is not set
...@@ -474,6 +482,7 @@ CONFIG_B44=m ...@@ -474,6 +482,7 @@ CONFIG_B44=m
CONFIG_EEPRO100=m CONFIG_EEPRO100=m
# CONFIG_EEPRO100_PIO is not set # CONFIG_EEPRO100_PIO is not set
CONFIG_E100=m CONFIG_E100=m
# CONFIG_E100_NAPI is not set
# CONFIG_FEALNX is not set # CONFIG_FEALNX is not set
CONFIG_NATSEMI=m CONFIG_NATSEMI=m
# CONFIG_NE2K_PCI is not set # CONFIG_NE2K_PCI is not set
...@@ -483,6 +492,7 @@ CONFIG_8139TOO=m ...@@ -483,6 +492,7 @@ CONFIG_8139TOO=m
# CONFIG_8139TOO_TUNE_TWISTER is not set # CONFIG_8139TOO_TUNE_TWISTER is not set
# CONFIG_8139TOO_8129 is not set # CONFIG_8139TOO_8129 is not set
# CONFIG_8139_OLD_RX_RESET is not set # CONFIG_8139_OLD_RX_RESET is not set
CONFIG_8139_RXBUF_IDX=1
# CONFIG_SIS900 is not set # CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set # CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set # CONFIG_SUNDANCE is not set
...@@ -571,7 +581,7 @@ CONFIG_PCMCIA_AXNET=m ...@@ -571,7 +581,7 @@ CONFIG_PCMCIA_AXNET=m
# #
# ISDN subsystem # ISDN subsystem
# #
# CONFIG_ISDN_BOOL is not set # CONFIG_ISDN is not set
# #
# Telephony Support # Telephony Support
...@@ -652,7 +662,8 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y ...@@ -652,7 +662,8 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256 CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# #
# Mice # Mice
...@@ -695,6 +706,10 @@ CONFIG_MAX_RAW_DEVS=256 ...@@ -695,6 +706,10 @@ CONFIG_MAX_RAW_DEVS=256
# #
# CONFIG_I2C is not set # CONFIG_I2C is not set
#
# Misc devices
#
# #
# Multimedia devices # Multimedia devices
# #
...@@ -716,6 +731,7 @@ CONFIG_FB=y ...@@ -716,6 +731,7 @@ CONFIG_FB=y
CONFIG_FB_STI=y CONFIG_FB_STI=y
# CONFIG_FB_RIVA is not set # CONFIG_FB_RIVA is not set
# CONFIG_FB_MATROX is not set # CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON_OLD is not set
# CONFIG_FB_RADEON is not set # CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set # CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set # CONFIG_FB_ATY is not set
...@@ -731,7 +747,6 @@ CONFIG_FB_STI=y ...@@ -731,7 +747,6 @@ CONFIG_FB_STI=y
# #
# Console display driver support # Console display driver support
# #
# CONFIG_VGA_CONSOLE is not set
# CONFIG_MDA_CONSOLE is not set # CONFIG_MDA_CONSOLE is not set
CONFIG_STI_CONSOLE=y CONFIG_STI_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=160 CONFIG_DUMMY_CONSOLE_COLUMNS=160
...@@ -823,7 +838,6 @@ CONFIG_USB_KBTAB=m ...@@ -823,7 +838,6 @@ CONFIG_USB_KBTAB=m
# USB Imaging devices # USB Imaging devices
# #
CONFIG_USB_MDC800=m CONFIG_USB_MDC800=m
CONFIG_USB_SCANNER=m
CONFIG_USB_MICROTEK=m CONFIG_USB_MICROTEK=m
CONFIG_USB_HPUSBSCSI=m CONFIG_USB_HPUSBSCSI=m
...@@ -867,6 +881,10 @@ CONFIG_USB_LEGOTOWER=m ...@@ -867,6 +881,10 @@ CONFIG_USB_LEGOTOWER=m
# CONFIG_USB_LCD is not set # CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set # CONFIG_USB_LED is not set
# CONFIG_USB_TEST is not set # CONFIG_USB_TEST is not set
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set # CONFIG_USB_GADGET is not set
# #
...@@ -883,6 +901,7 @@ CONFIG_JBD=y ...@@ -883,6 +901,7 @@ CONFIG_JBD=y
CONFIG_XFS_FS=m CONFIG_XFS_FS=m
# CONFIG_XFS_RT is not set # CONFIG_XFS_RT is not set
# CONFIG_XFS_QUOTA is not set # CONFIG_XFS_QUOTA is not set
# CONFIG_XFS_SECURITY is not set
# CONFIG_XFS_POSIX_ACL is not set # CONFIG_XFS_POSIX_ACL is not set
# CONFIG_MINIX_FS is not set # CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set # CONFIG_ROMFS_FS is not set
...@@ -912,7 +931,6 @@ CONFIG_VFAT_FS=m ...@@ -912,7 +931,6 @@ CONFIG_VFAT_FS=m
CONFIG_PROC_FS=y CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y CONFIG_PROC_KCORE=y
# CONFIG_DEVFS_FS is not set # CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS=y
# CONFIG_DEVPTS_FS_XATTR is not set # CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y CONFIG_TMPFS=y
# CONFIG_HUGETLBFS is not set # CONFIG_HUGETLBFS is not set
...@@ -925,6 +943,7 @@ CONFIG_RAMFS=y ...@@ -925,6 +943,7 @@ CONFIG_RAMFS=y
# CONFIG_ADFS_FS is not set # CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set # CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set # CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set # CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set # CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set # CONFIG_EFS_FS is not set
...@@ -1046,6 +1065,7 @@ CONFIG_CRYPTO_SERPENT=m ...@@ -1046,6 +1065,7 @@ CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_AES=m CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_CAST6=m
# CONFIG_CRYPTO_ARC4 is not set
CONFIG_CRYPTO_DEFLATE=m CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_TEST=m CONFIG_CRYPTO_TEST=m
......
...@@ -22,6 +22,7 @@ CONFIG_SYSVIPC=y ...@@ -22,6 +22,7 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=15 CONFIG_LOG_BUF_SHIFT=15
# CONFIG_HOTPLUG is not set
CONFIG_IKCONFIG=y CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y CONFIG_IKCONFIG_PROC=y
# CONFIG_EMBEDDED is not set # CONFIG_EMBEDDED is not set
...@@ -31,6 +32,7 @@ CONFIG_EPOLL=y ...@@ -31,6 +32,7 @@ CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_DEADLINE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
# #
# Loadable module support # Loadable module support
...@@ -71,7 +73,6 @@ CONFIG_IOMMU_SBA=y ...@@ -71,7 +73,6 @@ CONFIG_IOMMU_SBA=y
CONFIG_SUPERIO=y CONFIG_SUPERIO=y
CONFIG_CHASSIS_LCD_LED=y CONFIG_CHASSIS_LCD_LED=y
CONFIG_PDC_CHASSIS=y CONFIG_PDC_CHASSIS=y
# CONFIG_HOTPLUG is not set
# #
# Executable file formats # Executable file formats
...@@ -86,6 +87,7 @@ CONFIG_BINFMT_ELF=y ...@@ -86,6 +87,7 @@ CONFIG_BINFMT_ELF=y
# #
# Generic Driver Options # Generic Driver Options
# #
# CONFIG_DEBUG_DRIVER is not set
# #
# Memory Technology Devices (MTD) # Memory Technology Devices (MTD)
...@@ -108,7 +110,6 @@ CONFIG_PARPORT_GSC=y ...@@ -108,7 +110,6 @@ CONFIG_PARPORT_GSC=y
# #
# Plug and Play support # Plug and Play support
# #
# CONFIG_PNP is not set
# #
# Block devices # Block devices
...@@ -195,8 +196,16 @@ CONFIG_SCSI_NCR53C8XX_SYNC=20 ...@@ -195,8 +196,16 @@ CONFIG_SCSI_NCR53C8XX_SYNC=20
# CONFIG_SCSI_QLOGIC_ISP is not set # CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set # CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set # CONFIG_SCSI_QLOGIC_1280 is not set
CONFIG_SCSI_QLA2XXX=y
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set
# CONFIG_SCSI_QLA6322 is not set
# CONFIG_SCSI_SIM710 is not set # CONFIG_SCSI_SIM710 is not set
# CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_NSP32 is not set # CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_DEBUG is not set
...@@ -209,6 +218,7 @@ CONFIG_MD_LINEAR=y ...@@ -209,6 +218,7 @@ CONFIG_MD_LINEAR=y
CONFIG_MD_RAID0=y CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y CONFIG_MD_RAID1=y
CONFIG_MD_RAID5=y CONFIG_MD_RAID5=y
# CONFIG_MD_RAID6 is not set
# CONFIG_MD_MULTIPATH is not set # CONFIG_MD_MULTIPATH is not set
# CONFIG_BLK_DEV_DM is not set # CONFIG_BLK_DEV_DM is not set
...@@ -218,7 +228,7 @@ CONFIG_MD_RAID5=y ...@@ -218,7 +228,7 @@ CONFIG_MD_RAID5=y
# CONFIG_FUSION is not set # CONFIG_FUSION is not set
# #
# IEEE 1394 (FireWire) support (EXPERIMENTAL) # IEEE 1394 (FireWire) support
# #
# CONFIG_IEEE1394 is not set # CONFIG_IEEE1394 is not set
...@@ -227,6 +237,10 @@ CONFIG_MD_RAID5=y ...@@ -227,6 +237,10 @@ CONFIG_MD_RAID5=y
# #
# CONFIG_I2O is not set # CONFIG_I2O is not set
#
# Macintosh device drivers
#
# #
# Networking support # Networking support
# #
...@@ -319,6 +333,7 @@ CONFIG_NET_TULIP=y ...@@ -319,6 +333,7 @@ CONFIG_NET_TULIP=y
CONFIG_TULIP=y CONFIG_TULIP=y
# CONFIG_TULIP_MWI is not set # CONFIG_TULIP_MWI is not set
# CONFIG_TULIP_MMIO is not set # CONFIG_TULIP_MMIO is not set
# CONFIG_TULIP_NAPI is not set
# CONFIG_DE4X5 is not set # CONFIG_DE4X5 is not set
# CONFIG_WINBOND_840 is not set # CONFIG_WINBOND_840 is not set
# CONFIG_DM9102 is not set # CONFIG_DM9102 is not set
...@@ -330,6 +345,7 @@ CONFIG_NET_PCI=y ...@@ -330,6 +345,7 @@ CONFIG_NET_PCI=y
# CONFIG_ADAPTEC_STARFIRE is not set # CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_AC3200 is not set # CONFIG_AC3200 is not set
# CONFIG_B44 is not set # CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_DGRS is not set # CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set # CONFIG_EEPRO100 is not set
# CONFIG_E100 is not set # CONFIG_E100 is not set
...@@ -386,6 +402,7 @@ CONFIG_NET_RADIO=y ...@@ -386,6 +402,7 @@ CONFIG_NET_RADIO=y
# #
CONFIG_AIRO=y CONFIG_AIRO=y
# CONFIG_HERMES is not set # CONFIG_HERMES is not set
# CONFIG_ATMEL is not set
CONFIG_NET_WIRELESS=y CONFIG_NET_WIRELESS=y
# #
...@@ -419,7 +436,7 @@ CONFIG_NET_WIRELESS=y ...@@ -419,7 +436,7 @@ CONFIG_NET_WIRELESS=y
# #
# ISDN subsystem # ISDN subsystem
# #
# CONFIG_ISDN_BOOL is not set # CONFIG_ISDN is not set
# #
# Telephony Support # Telephony Support
...@@ -450,10 +467,10 @@ CONFIG_INPUT_EVDEV=y ...@@ -450,10 +467,10 @@ CONFIG_INPUT_EVDEV=y
CONFIG_SOUND_GAMEPORT=y CONFIG_SOUND_GAMEPORT=y
CONFIG_SERIO=y CONFIG_SERIO=y
# CONFIG_SERIO_SERPORT is not set # CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set # CONFIG_SERIO_PARKBD is not set
CONFIG_SERIO_GSCPS2=y
CONFIG_HP_SDC=y CONFIG_HP_SDC=y
# CONFIG_HIL_MLC is not set CONFIG_HIL_MLC=y
# CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_PCIPS2 is not set
# #
...@@ -464,10 +481,11 @@ CONFIG_INPUT_KEYBOARD=y ...@@ -464,10 +481,11 @@ CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_HIL_OLD is not set CONFIG_KEYBOARD_HIL=y
CONFIG_INPUT_MOUSE=y CONFIG_INPUT_MOUSE=y
# CONFIG_MOUSE_PS2 is not set # CONFIG_MOUSE_PS2 is not set
# CONFIG_MOUSE_SERIAL is not set # CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_HIL is not set
CONFIG_INPUT_JOYSTICK=y CONFIG_INPUT_JOYSTICK=y
# CONFIG_JOYSTICK_IFORCE is not set # CONFIG_JOYSTICK_IFORCE is not set
# CONFIG_JOYSTICK_WARRIOR is not set # CONFIG_JOYSTICK_WARRIOR is not set
...@@ -485,7 +503,6 @@ CONFIG_INPUT_TOUCHSCREEN=y ...@@ -485,7 +503,6 @@ CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_INPUT_MISC=y CONFIG_INPUT_MISC=y
# CONFIG_INPUT_PCSPKR is not set # CONFIG_INPUT_PCSPKR is not set
# CONFIG_INPUT_UINPUT is not set # CONFIG_INPUT_UINPUT is not set
CONFIG_INPUT_GSC=y
CONFIG_HP_SDC_RTC=y CONFIG_HP_SDC_RTC=y
# #
...@@ -517,30 +534,13 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y ...@@ -517,30 +534,13 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256 CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_PRINTER=y CONFIG_PRINTER=y
# CONFIG_LP_CONSOLE is not set # CONFIG_LP_CONSOLE is not set
# CONFIG_PPDEV is not set # CONFIG_PPDEV is not set
# CONFIG_TIPAR is not set # CONFIG_TIPAR is not set
#
# I2C support
#
# CONFIG_I2C is not set
#
# I2C Algorithms
#
#
# I2C Hardware Bus support
#
#
# I2C Hardware Sensors Chip support
#
# CONFIG_I2C_SENSOR is not set
# #
# Mice # Mice
# #
...@@ -571,6 +571,15 @@ CONFIG_GEN_RTC=y ...@@ -571,6 +571,15 @@ CONFIG_GEN_RTC=y
# CONFIG_DRM is not set # CONFIG_DRM is not set
# CONFIG_RAW_DRIVER is not set # CONFIG_RAW_DRIVER is not set
#
# I2C support
#
# CONFIG_I2C is not set
#
# Misc devices
#
# #
# Multimedia devices # Multimedia devices
# #
...@@ -585,16 +594,19 @@ CONFIG_GEN_RTC=y ...@@ -585,16 +594,19 @@ CONFIG_GEN_RTC=y
# Graphics support # Graphics support
# #
CONFIG_FB=y CONFIG_FB=y
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set # CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_IMSTT is not set # CONFIG_FB_IMSTT is not set
CONFIG_FB_STI=y CONFIG_FB_STI=y
# CONFIG_FB_RIVA is not set # CONFIG_FB_RIVA is not set
# CONFIG_FB_MATROX is not set # CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON_OLD is not set
# CONFIG_FB_RADEON is not set # CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set # CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set # CONFIG_FB_ATY is not set
# CONFIG_FB_SIS is not set # CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set # CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set # CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set # CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_TRIDENT is not set # CONFIG_FB_TRIDENT is not set
...@@ -603,7 +615,6 @@ CONFIG_FB_STI=y ...@@ -603,7 +615,6 @@ CONFIG_FB_STI=y
# #
# Console display driver support # Console display driver support
# #
# CONFIG_VGA_CONSOLE is not set
# CONFIG_MDA_CONSOLE is not set # CONFIG_MDA_CONSOLE is not set
CONFIG_STI_CONSOLE=y CONFIG_STI_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=160 CONFIG_DUMMY_CONSOLE_COLUMNS=160
...@@ -686,7 +697,6 @@ CONFIG_USB_OHCI_HCD=y ...@@ -686,7 +697,6 @@ CONFIG_USB_OHCI_HCD=y
# USB Imaging devices # USB Imaging devices
# #
# CONFIG_USB_MDC800 is not set # CONFIG_USB_MDC800 is not set
# CONFIG_USB_SCANNER is not set
# CONFIG_USB_MICROTEK is not set # CONFIG_USB_MICROTEK is not set
# CONFIG_USB_HPUSBSCSI is not set # CONFIG_USB_HPUSBSCSI is not set
...@@ -721,11 +731,19 @@ CONFIG_USB_OHCI_HCD=y ...@@ -721,11 +731,19 @@ CONFIG_USB_OHCI_HCD=y
# #
# USB Miscellaneous drivers # USB Miscellaneous drivers
# #
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_TIGL is not set # CONFIG_USB_TIGL is not set
# CONFIG_USB_AUERSWALD is not set # CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set # CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_BRLVGER is not set # CONFIG_USB_BRLVGER is not set
# CONFIG_USB_LCD is not set # CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set # CONFIG_USB_GADGET is not set
# #
...@@ -766,7 +784,6 @@ CONFIG_JOLIET=y ...@@ -766,7 +784,6 @@ CONFIG_JOLIET=y
CONFIG_PROC_FS=y CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y CONFIG_PROC_KCORE=y
# CONFIG_DEVFS_FS is not set # CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS=y
# CONFIG_DEVPTS_FS_XATTR is not set # CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y CONFIG_TMPFS=y
# CONFIG_HUGETLB_PAGE is not set # CONFIG_HUGETLB_PAGE is not set
...@@ -778,6 +795,7 @@ CONFIG_RAMFS=y ...@@ -778,6 +795,7 @@ CONFIG_RAMFS=y
# CONFIG_ADFS_FS is not set # CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set # CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set # CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set # CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set # CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set # CONFIG_EFS_FS is not set
...@@ -809,7 +827,6 @@ CONFIG_SUNRPC=y ...@@ -809,7 +827,6 @@ CONFIG_SUNRPC=y
# CONFIG_CIFS is not set # CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set # CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set # CONFIG_CODA_FS is not set
# CONFIG_INTERMEZZO_FS is not set
# CONFIG_AFS_FS is not set # CONFIG_AFS_FS is not set
# #
...@@ -817,11 +834,11 @@ CONFIG_SUNRPC=y ...@@ -817,11 +834,11 @@ CONFIG_SUNRPC=y
# #
# CONFIG_PARTITION_ADVANCED is not set # CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y CONFIG_MSDOS_PARTITION=y
CONFIG_NLS=y
# #
# Native Language Support # Native Language Support
# #
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not set # CONFIG_NLS_CODEPAGE_437 is not set
# CONFIG_NLS_CODEPAGE_737 is not set # CONFIG_NLS_CODEPAGE_737 is not set
...@@ -899,6 +916,7 @@ CONFIG_CRYPTO=y ...@@ -899,6 +916,7 @@ CONFIG_CRYPTO=y
# CONFIG_CRYPTO_AES is not set # CONFIG_CRYPTO_AES is not set
# CONFIG_CRYPTO_CAST5 is not set # CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set # CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_TEST is not set # CONFIG_CRYPTO_TEST is not set
......
/* /* syscall table for HPUX specific syscalls
* *
* Linux/PARISC Project (http://www.parisc-linux.org/) * Linux/PA-RISC Project (http://www.parisc-linux.org/)
* Copyright (C) 1999 Matthew Wilcox <willy at debian . org>
* *
* modified by Matthew Wilcox <willy@bofh.ai> 1999-07-26 * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/ */
#include <linux/sys.h> #include <linux/sys.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/unistd.h> #include <asm/unistd.h>
......
...@@ -533,7 +533,7 @@ __kernel_thread: ...@@ -533,7 +533,7 @@ __kernel_thread:
ldil L%CLONE_UNTRACED, %r26 ldil L%CLONE_UNTRACED, %r26
ldo CLONE_VM(%r26), %r26 /* Force CLONE_VM since only init_mm */ ldo CLONE_VM(%r26), %r26 /* Force CLONE_VM since only init_mm */
or %r26, %r24, %r26 /* will have kernel mappings. */ or %r26, %r24, %r26 /* will have kernel mappings. */
copy %r0, %r25 /* stack_start */ ldi 1, %r25 /* stack_start, signals kernel thread */
stw %r0, -52(%r30) /* user_tid */ stw %r0, -52(%r30) /* user_tid */
#ifdef __LP64__ #ifdef __LP64__
ldo -16(%r30),%r29 /* Reference param save area */ ldo -16(%r30),%r29 /* Reference param save area */
......
...@@ -333,8 +333,9 @@ static struct hp_hardware hp_hardware_list[] __initdata = { ...@@ -333,8 +333,9 @@ static struct hp_hardware hp_hardware_list[] __initdata = {
{HPHW_A_DMA, 0x01F, 0x00089, 0x80, "SkyHawk 100/120 FW-SCSI"}, {HPHW_A_DMA, 0x01F, 0x00089, 0x80, "SkyHawk 100/120 FW-SCSI"},
{HPHW_A_DMA, 0x027, 0x00089, 0x80, "Piranha 100 FW-SCSI"}, {HPHW_A_DMA, 0x027, 0x00089, 0x80, "Piranha 100 FW-SCSI"},
{HPHW_A_DMA, 0x032, 0x00089, 0x80, "Raven T' Core FW-SCSI"}, {HPHW_A_DMA, 0x032, 0x00089, 0x80, "Raven T' Core FW-SCSI"},
{HPHW_A_DMA, 0x03b, 0x00089, 0x80, "Raven U/L2 Core FW-SCSI"}, {HPHW_A_DMA, 0x03B, 0x00089, 0x80, "Raven U/L2 Core FW-SCSI"},
{HPHW_A_DMA, 0x03d, 0x00089, 0x80, "Merlin 160 Core FW-SCSI"}, {HPHW_A_DMA, 0x03C, 0x00089, 0x80, "Merlin 132 Core FW-SCSI"},
{HPHW_A_DMA, 0x03D, 0x00089, 0x80, "Merlin 160 Core FW-SCSI"},
{HPHW_A_DMA, 0x044, 0x00089, 0x80, "Mohawk Core FW-SCSI"}, {HPHW_A_DMA, 0x044, 0x00089, 0x80, "Mohawk Core FW-SCSI"},
{HPHW_A_DMA, 0x051, 0x00089, 0x80, "Firehawk FW-SCSI"}, {HPHW_A_DMA, 0x051, 0x00089, 0x80, "Firehawk FW-SCSI"},
{HPHW_A_DMA, 0x058, 0x00089, 0x80, "FireHawk 200 FW-SCSI"}, {HPHW_A_DMA, 0x058, 0x00089, 0x80, "FireHawk 200 FW-SCSI"},
......
...@@ -165,9 +165,9 @@ common_stext: ...@@ -165,9 +165,9 @@ common_stext:
#endif /* CONFIG_SMP */ #endif /* CONFIG_SMP */
/* Save the rfi target address */ /* Save the rfi target address */
ldo -THREAD_SZ_ALGN(%sp), %r1 ldd TI_TASK-THREAD_SZ_ALGN(%sp), %r10
ldd TI_TASK(%r1), %r1 tophys_r1 %r10
std %r11, TASK_PT_GR11(%r1) std %r11, TASK_PT_GR11(%r10)
#ifndef CONFIG_PDC_NARROW #ifndef CONFIG_PDC_NARROW
/* Switch to wide mode; Superdome doesn't support narrow PDC /* Switch to wide mode; Superdome doesn't support narrow PDC
...@@ -197,9 +197,9 @@ common_stext: ...@@ -197,9 +197,9 @@ common_stext:
stext_pdc_ret: stext_pdc_ret:
/* restore rfi target address*/ /* restore rfi target address*/
ldo -THREAD_SZ_ALGN(%sp), %r1 ldd TI_TASK-THREAD_SZ_ALGN(%sp), %r10
ldd TI_TASK(%r1), %r1 tophys_r1 %r10
ldd TASK_PT_GR11(%r1), %r11 ldd TASK_PT_GR11(%r10), %r11
/* PARANOID: clear user scratch/user space SR's */ /* PARANOID: clear user scratch/user space SR's */
mtsp %r0,%sr0 mtsp %r0,%sr0
...@@ -302,6 +302,7 @@ smp_slave_stext: ...@@ -302,6 +302,7 @@ smp_slave_stext:
/* Initialize the SP - monarch sets up smp_init_current_idle_task */ /* Initialize the SP - monarch sets up smp_init_current_idle_task */
load32 PA(smp_init_current_idle_task),%sp load32 PA(smp_init_current_idle_task),%sp
ldd 0(%sp),%sp /* load task address */ ldd 0(%sp),%sp /* load task address */
ldd TASK_THREAD_INFO(%sp), %sp
mtctl %sp,%cr30 /* store in cr30 */ mtctl %sp,%cr30 /* store in cr30 */
ldo THREAD_SZ_ALGN(%sp),%sp ldo THREAD_SZ_ALGN(%sp),%sp
tophys_r1 %sp tophys_r1 %sp
......
/* Kernel module help for parisc. /* Kernel dynamically loadable module help for PARISC.
*
This program is free software; you can redistribute it and/or modify * The best reference for this stuff is probably the Processor-
it under the terms of the GNU General Public License as published by * Specific ELF Supplement for PA-RISC:
the Free Software Foundation; either version 2 of the License, or * http://ftp.parisc-linux.org/docs/elf-pa-hp.pdf
(at your option) any later version. *
* Linux/PA-RISC Project (http://www.parisc-linux.org/)
This program is distributed in the hope that it will be useful, * Copyright (C) 2003 Randolph Chung <tausq at debian . org>
but WITHOUT ANY WARRANTY; without even the implied warranty of *
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
GNU General Public License for more details. * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
You should have received a copy of the GNU General Public License * the Free Software Foundation; either version 2 of the License, or
along with this program; if not, write to the Free Software * (at your option) any later version.
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
* This program is distributed in the hope that it will be useful,
(c) 2003 Randolph Chung <tausq@debian.org> * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
The best reference for this stuff is probably the Processor-
Specific ELF Supplement for PA-RISC:
http://ftp.parisc-linux.org/docs/elf-pa-hp.pdf
*/
#include <linux/moduleloader.h> #include <linux/moduleloader.h>
#include <linux/elf.h> #include <linux/elf.h>
#include <linux/vmalloc.h> #include <linux/vmalloc.h>
......
...@@ -221,6 +221,7 @@ flush_instruction_cache_local: ...@@ -221,6 +221,7 @@ flush_instruction_cache_local:
LDREG ICACHE_STRIDE(%r1),%arg1 LDREG ICACHE_STRIDE(%r1),%arg1
LDREG ICACHE_COUNT(%r1),%arg2 LDREG ICACHE_COUNT(%r1),%arg2
LDREG ICACHE_LOOP(%r1),%arg3 LDREG ICACHE_LOOP(%r1),%arg3
rsm PSW_SM_I,%r22 /* No mmgt ops during loop*/
ADDIB= -1,%arg3,fioneloop /* Preadjust and test */ ADDIB= -1,%arg3,fioneloop /* Preadjust and test */
movb,<,n %arg3,%r31,fisync /* If loop < 0, do sync */ movb,<,n %arg3,%r31,fisync /* If loop < 0, do sync */
...@@ -237,6 +238,7 @@ fioneloop: /* Loop if LOOP = 1 */ ...@@ -237,6 +238,7 @@ fioneloop: /* Loop if LOOP = 1 */
fisync: fisync:
sync sync
mtsm %r22
bv %r0(%r2) bv %r0(%r2)
nop nop
.exit .exit
......
...@@ -67,8 +67,10 @@ EXPORT_SYMBOL(__cmpxchg_u64); ...@@ -67,8 +67,10 @@ EXPORT_SYMBOL(__cmpxchg_u64);
#include <asm/uaccess.h> #include <asm/uaccess.h>
EXPORT_SYMBOL(lcopy_to_user); EXPORT_SYMBOL(lcopy_to_user);
EXPORT_SYMBOL(lcopy_from_user); EXPORT_SYMBOL(lcopy_from_user);
EXPORT_SYMBOL(lstrnlen_user); EXPORT_SYMBOL(lcopy_in_user);
EXPORT_SYMBOL(lstrncpy_from_user);
EXPORT_SYMBOL(lclear_user); EXPORT_SYMBOL(lclear_user);
EXPORT_SYMBOL(lstrnlen_user);
#ifndef __LP64__ #ifndef __LP64__
/* Needed so insmod can set dp value */ /* Needed so insmod can set dp value */
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
#include <asm/io.h> #include <asm/io.h>
#include <asm/system.h> #include <asm/system.h>
#include <asm/cache.h> /* for L1_CACHE_BYTES */ #include <asm/cache.h> /* for L1_CACHE_BYTES */
#include <asm/superio.h>
#define DEBUG_RESOURCES 0 #define DEBUG_RESOURCES 0
#define DEBUG_CONFIG 0 #define DEBUG_CONFIG 0
...@@ -145,9 +146,13 @@ char *pcibios_setup(char *str) ...@@ -145,9 +146,13 @@ char *pcibios_setup(char *str)
return str; return str;
} }
/* Used in drivers/pci/quirks.c */ /* Used in drivers/pci/quirks.c */
struct pci_fixup pcibios_fixups[] = { {0} }; struct pci_fixup pcibios_fixups[] = {
#ifdef CONFIG_SUPERIO
{ PCI_FIXUP_HEADER, PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_87415, superio_fixup_pci },
#endif
{ 0 }
};
/* /*
......
...@@ -250,6 +250,16 @@ sys_clone(unsigned long clone_flags, unsigned long usp, ...@@ -250,6 +250,16 @@ sys_clone(unsigned long clone_flags, unsigned long usp,
struct pt_regs *regs) struct pt_regs *regs)
{ {
int *user_tid = (int *)regs->gr[26]; int *user_tid = (int *)regs->gr[26];
/* usp must be word aligned. This also prevents users from
* passing in the value 1 (which is the signal for a special
* return for a kernel thread) */
usp = ALIGN(usp, 4);
/* A zero value for usp means use the current stack */
if(usp == 0)
usp = regs->gr[30];
return do_fork(clone_flags & ~CLONE_IDLETASK, usp, regs, 0, user_tid, NULL); return do_fork(clone_flags & ~CLONE_IDLETASK, usp, regs, 0, user_tid, NULL);
} }
...@@ -290,7 +300,7 @@ copy_thread(int nr, unsigned long clone_flags, unsigned long usp, ...@@ -290,7 +300,7 @@ copy_thread(int nr, unsigned long clone_flags, unsigned long usp,
* We rely on the fact that kernel_thread passes * We rely on the fact that kernel_thread passes
* in zero for usp. * in zero for usp.
*/ */
if (usp == 0) { if (usp == 1) {
/* kernel thread */ /* kernel thread */
cregs->ksp = (((unsigned long)(ti)) + THREAD_SZ_ALGN); cregs->ksp = (((unsigned long)(ti)) + THREAD_SZ_ALGN);
/* Must exit via ret_from_kernel_thread in order /* Must exit via ret_from_kernel_thread in order
......
...@@ -61,6 +61,9 @@ SECTIONS ...@@ -61,6 +61,9 @@ SECTIONS
RODATA RODATA
/* writeable */ /* writeable */
. = ALIGN(4096); /* Make sure this is paged aligned so
that we can properly leave these
as writable */
data_start = .; data_start = .;
. = ALIGN(16); /* Exception table */ . = ALIGN(16); /* Exception table */
......
This diff is collapsed.
...@@ -116,6 +116,16 @@ void eisa_out32(unsigned int data, unsigned short port) ...@@ -116,6 +116,16 @@ void eisa_out32(unsigned int data, unsigned short port)
gsc_writel(cpu_to_le32(data), eisa_permute(port)); gsc_writel(cpu_to_le32(data), eisa_permute(port));
} }
#ifndef CONFIG_PCI
/* We call these directly without PCI. See asm/io.h. */
EXPORT_SYMBOL(eisa_in8);
EXPORT_SYMBOL(eisa_in16);
EXPORT_SYMBOL(eisa_in32);
EXPORT_SYMBOL(eisa_out8);
EXPORT_SYMBOL(eisa_out16);
EXPORT_SYMBOL(eisa_out32);
#endif
/* Interrupt handling */ /* Interrupt handling */
/* cached interrupt mask registers */ /* cached interrupt mask registers */
......
...@@ -29,6 +29,11 @@ ...@@ -29,6 +29,11 @@
#include "gsc.h" #include "gsc.h"
/* This sets the vmerge boundary and size, it's here because it has to
* be available on all platforms (zero means no-virtual merging) */
unsigned long parisc_vmerge_boundary = 0;
unsigned long parisc_vmerge_max_size = 0;
#undef DEBUG #undef DEBUG
#ifdef DEBUG #ifdef DEBUG
......
/**
* iommu_fill_pdir - Insert coalesced scatter/gather chunks into the I/O Pdir.
* @ioc: The I/O Controller.
* @startsg: The scatter/gather list of coalesced chunks.
* @nents: The number of entries in the scatter/gather list.
* @hint: The DMA Hint.
*
* This function inserts the coalesced scatter/gather list chunks into the
* I/O Controller's I/O Pdir.
*/
static inline unsigned int
iommu_fill_pdir(struct ioc *ioc, struct scatterlist *startsg, int nents,
unsigned long hint,
void (*iommu_io_pdir_entry)(u64 *, space_t, unsigned long,
unsigned long))
{
struct scatterlist *dma_sg = startsg; /* pointer to current DMA */
unsigned int n_mappings = 0;
unsigned long dma_offset = 0, dma_len = 0;
u64 *pdirp = NULL;
/* Horrible hack. For efficiency's sake, dma_sg starts one
* entry below the true start (it is immediately incremented
* in the loop) */
dma_sg--;
while (nents-- > 0) {
unsigned long vaddr;
long size;
DBG_RUN_SG(" %d : %08lx/%05x %08lx/%05x\n", nents,
(unsigned long)sg_dma_address(startsg), cnt,
sg_virt_addr(startsg), startsg->length
);
/*
** Look for the start of a new DMA stream
*/
if (sg_dma_address(startsg) & PIDE_FLAG) {
u32 pide = sg_dma_address(startsg) & ~PIDE_FLAG;
BUG_ON(pdirp && (dma_len != sg_dma_len(dma_sg)));
dma_sg++;
dma_len = sg_dma_len(startsg);
sg_dma_len(startsg) = 0;
dma_offset = (unsigned long) pide & ~IOVP_MASK;
n_mappings++;
sg_dma_address(dma_sg) = pide;
pdirp = &(ioc->pdir_base[pide >> IOVP_SHIFT]);
prefetchw(pdirp);
}
BUG_ON(pdirp == NULL);
vaddr = sg_virt_addr(startsg);
sg_dma_len(dma_sg) += startsg->length;
size = startsg->length + dma_offset;
dma_offset = 0;
#ifdef IOMMU_MAP_STATS
ioc->msg_pages += startsg->length >> IOVP_SHIFT;
#endif
do {
iommu_io_pdir_entry(pdirp, KERNEL_SPACE,
vaddr, hint);
vaddr += IOVP_SIZE;
size -= IOVP_SIZE;
pdirp++;
} while(unlikely(size > 0));
startsg++;
}
return(n_mappings);
}
/*
** First pass is to walk the SG list and determine where the breaks are
** in the DMA stream. Allocates PDIR entries but does not fill them.
** Returns the number of DMA chunks.
**
** Doing the fill separate from the coalescing/allocation keeps the
** code simpler. Future enhancement could make one pass through
** the sglist do both.
*/
static inline unsigned int
iommu_coalesce_chunks(struct ioc *ioc, struct scatterlist *startsg, int nents,
int (*iommu_alloc_range)(struct ioc *, size_t))
{
struct scatterlist *contig_sg; /* contig chunk head */
unsigned long dma_offset, dma_len; /* start/len of DMA stream */
unsigned int n_mappings = 0;
while (nents > 0) {
/*
** Prepare for first/next DMA stream
*/
contig_sg = startsg;
dma_len = startsg->length;
dma_offset = sg_virt_addr(startsg) & ~IOVP_MASK;
/* PARANOID: clear entries */
sg_dma_address(startsg) = 0;
sg_dma_len(startsg) = 0;
/*
** This loop terminates one iteration "early" since
** it's always looking one "ahead".
*/
while(--nents > 0) {
unsigned long prevstartsg_end, startsg_end;
prevstartsg_end = sg_virt_addr(startsg) +
startsg->length;
startsg++;
startsg_end = sg_virt_addr(startsg) +
startsg->length;
/* PARANOID: clear entries */
sg_dma_address(startsg) = 0;
sg_dma_len(startsg) = 0;
/*
** First make sure current dma stream won't
** exceed DMA_CHUNK_SIZE if we coalesce the
** next entry.
*/
if(unlikely(ROUNDUP(dma_len + dma_offset + startsg->length,
IOVP_SIZE) > DMA_CHUNK_SIZE))
break;
/*
** Next see if we can append the next chunk (i.e.
** it must end on one page and begin on another
*/
if (unlikely(((prevstartsg_end | sg_virt_addr(startsg)) & ~PAGE_MASK) != 0))
break;
dma_len += startsg->length;
}
/*
** End of DMA Stream
** Terminate last VCONTIG block.
** Allocate space for DMA stream.
*/
sg_dma_len(contig_sg) = dma_len;
dma_len = ROUNDUP(dma_len + dma_offset, IOVP_SIZE);
sg_dma_address(contig_sg) =
PIDE_FLAG
| (iommu_alloc_range(ioc, dma_len) << IOVP_SHIFT)
| dma_offset;
n_mappings++;
}
return n_mappings;
}
...@@ -533,10 +533,10 @@ static int lba_cfg_read(struct pci_bus *bus, unsigned int devfn, int pos, int si ...@@ -533,10 +533,10 @@ static int lba_cfg_read(struct pci_bus *bus, unsigned int devfn, int pos, int si
*/ */
LBA_CFG_TR4_ADDR_SETUP(d, tok | pos); LBA_CFG_TR4_ADDR_SETUP(d, tok | pos);
switch(size) { switch(size) {
case 1: *(u8 *) data = READ_REG8(d->hba.base_addr + LBA_PCI_CFG_DATA); case 1: *(u8 *) data = READ_REG8(d->hba.base_addr + LBA_PCI_CFG_DATA + (pos & 3));
break; break;
case 2: *(u16 *) data = READ_REG16(d->hba.base_addr + LBA_PCI_CFG_DATA); case 2: *(u16 *) data = READ_REG16(d->hba.base_addr + LBA_PCI_CFG_DATA + (pos & 2));
break; break;
case 4: *(u32 *) data = READ_REG32(d->hba.base_addr + LBA_PCI_CFG_DATA); case 4: *(u32 *) data = READ_REG32(d->hba.base_addr + LBA_PCI_CFG_DATA);
break; break;
} }
...@@ -613,13 +613,14 @@ static int lba_cfg_write(struct pci_bus *bus, unsigned int devfn, int pos, int s ...@@ -613,13 +613,14 @@ static int lba_cfg_write(struct pci_bus *bus, unsigned int devfn, int pos, int s
/* Basic Algorithm */ /* Basic Algorithm */
LBA_CFG_TR4_ADDR_SETUP(d, tok | pos); LBA_CFG_TR4_ADDR_SETUP(d, tok | pos);
switch(size) { switch(size) {
case 1: WRITE_REG8 (data, d->hba.base_addr + LBA_PCI_CFG_DATA); case 1: WRITE_REG8 (data, d->hba.base_addr + LBA_PCI_CFG_DATA + (pos & 3));
break; break;
case 2: WRITE_REG16(data, d->hba.base_addr + LBA_PCI_CFG_DATA); case 2: WRITE_REG16(data, d->hba.base_addr + LBA_PCI_CFG_DATA + (pos & 2));
break; break;
case 4: WRITE_REG32(data, d->hba.base_addr + LBA_PCI_CFG_DATA); case 4: WRITE_REG32(data, d->hba.base_addr + LBA_PCI_CFG_DATA);
break; break;
} }
/* flush posted write */
lba_t32 = READ_REG32(d->hba.base_addr + LBA_PCI_CFG_ADDR); lba_t32 = READ_REG32(d->hba.base_addr + LBA_PCI_CFG_ADDR);
return 0; return 0;
} }
......
...@@ -700,7 +700,8 @@ typedef unsigned long space_t; ...@@ -700,7 +700,8 @@ typedef unsigned long space_t;
void SBA_INLINE void SBA_INLINE
sba_io_pdir_entry(u64 *pdir_ptr, space_t sid, unsigned long vba) sba_io_pdir_entry(u64 *pdir_ptr, space_t sid, unsigned long vba,
unsigned long hint)
{ {
u64 pa; /* physical address */ u64 pa; /* physical address */
register unsigned ci; /* coherent index */ register unsigned ci; /* coherent index */
...@@ -874,7 +875,7 @@ sba_map_single(struct device *dev, void *addr, size_t size, ...@@ -874,7 +875,7 @@ sba_map_single(struct device *dev, void *addr, size_t size,
while (size > 0) { while (size > 0) {
ASSERT(((u8 *)pdir_start)[7] == 0); /* verify availability */ ASSERT(((u8 *)pdir_start)[7] == 0); /* verify availability */
sba_io_pdir_entry(pdir_start, KERNEL_SPACE, (unsigned long) addr); sba_io_pdir_entry(pdir_start, KERNEL_SPACE, (unsigned long) addr, 0);
DBG_RUN(" pdir 0x%p %02x%02x%02x%02x%02x%02x%02x%02x\n", DBG_RUN(" pdir 0x%p %02x%02x%02x%02x%02x%02x%02x%02x\n",
pdir_start, pdir_start,
...@@ -1027,243 +1028,15 @@ sba_free_consistent(struct device *hwdev, size_t size, void *vaddr, ...@@ -1027,243 +1028,15 @@ sba_free_consistent(struct device *hwdev, size_t size, void *vaddr,
*/ */
#define PIDE_FLAG 0x80000000UL #define PIDE_FLAG 0x80000000UL
#ifdef DEBUG_LARGE_SG_ENTRIES
int dump_run_sg = 0;
#endif
/**
* sba_fill_pdir - write allocated SG entries into IO PDIR
* @ioc: IO MMU structure which owns the pdir we are interested in.
* @startsg: list of IOVA/size pairs
* @nents: number of entries in startsg list
*
* Take preprocessed SG list and write corresponding entries
* in the IO PDIR.
*/
static SBA_INLINE int
sba_fill_pdir(
struct ioc *ioc,
struct scatterlist *startsg,
int nents)
{
struct scatterlist *dma_sg = startsg; /* pointer to current DMA */
int n_mappings = 0;
u64 *pdirp = 0;
unsigned long dma_offset = 0;
dma_sg--;
while (nents-- > 0) {
int cnt = sg_dma_len(startsg);
sg_dma_len(startsg) = 0;
#ifdef DEBUG_LARGE_SG_ENTRIES
if (dump_run_sg)
printk(KERN_DEBUG " %2d : %08lx/%05x %p/%05x\n",
nents,
(unsigned long) sg_dma_address(startsg), cnt,
sg_virt_addr(startsg), startsg->length
);
#else
DBG_RUN_SG(" %d : %08lx/%05x %p/%05x\n",
nents,
(unsigned long) sg_dma_address(startsg), cnt,
sg_virt_addr(startsg), startsg->length
);
#endif
/*
** Look for the start of a new DMA stream
*/
if (sg_dma_address(startsg) & PIDE_FLAG) {
u32 pide = sg_dma_address(startsg) & ~PIDE_FLAG;
dma_offset = (unsigned long) pide & ~IOVP_MASK;
sg_dma_address(startsg) = 0;
dma_sg++;
sg_dma_address(dma_sg) = pide;
pdirp = &(ioc->pdir_base[pide >> IOVP_SHIFT]);
n_mappings++;
}
/*
** Look for a VCONTIG chunk
*/
if (cnt) {
unsigned long vaddr = (unsigned long) sg_virt_addr(startsg);
ASSERT(pdirp);
/* Since multiple Vcontig blocks could make up
** one DMA stream, *add* cnt to dma_len.
*/
sg_dma_len(dma_sg) += cnt;
cnt += dma_offset;
dma_offset=0; /* only want offset on first chunk */
cnt = ROUNDUP(cnt, IOVP_SIZE);
#ifdef SBA_COLLECT_STATS #ifdef SBA_COLLECT_STATS
ioc->msg_pages += cnt >> IOVP_SHIFT; #define IOMMU_MAP_STATS
#endif
do {
sba_io_pdir_entry(pdirp, KERNEL_SPACE, vaddr);
vaddr += IOVP_SIZE;
cnt -= IOVP_SIZE;
pdirp++;
} while (cnt > 0);
}
startsg++;
}
#ifdef DEBUG_LARGE_SG_ENTRIES
dump_run_sg = 0;
#endif #endif
return(n_mappings); #include "iommu-helpers.h"
}
/*
** Two address ranges are DMA contiguous *iff* "end of prev" and
** "start of next" are both on a page boundary.
**
** (shift left is a quick trick to mask off upper bits)
*/
#define DMA_CONTIG(__X, __Y) \
(((((unsigned long) __X) | ((unsigned long) __Y)) << (BITS_PER_LONG - PAGE_SHIFT)) == 0UL)
/**
* sba_coalesce_chunks - preprocess the SG list
* @ioc: IO MMU structure which owns the pdir we are interested in.
* @startsg: list of IOVA/size pairs
* @nents: number of entries in startsg list
*
* First pass is to walk the SG list and determine where the breaks are
* in the DMA stream. Allocates PDIR entries but does not fill them.
* Returns the number of DMA chunks.
*
* Doing the fill separate from the coalescing/allocation keeps the
* code simpler. Future enhancement could make one pass through
* the sglist do both.
*/
static SBA_INLINE int
sba_coalesce_chunks( struct ioc *ioc,
struct scatterlist *startsg,
int nents)
{
struct scatterlist *vcontig_sg; /* VCONTIG chunk head */
unsigned long vcontig_len; /* len of VCONTIG chunk */
unsigned long vcontig_end;
struct scatterlist *dma_sg; /* next DMA stream head */
unsigned long dma_offset, dma_len; /* start/len of DMA stream */
int n_mappings = 0;
while (nents > 0) {
unsigned long vaddr = (unsigned long) sg_virt_addr(startsg);
/*
** Prepare for first/next DMA stream
*/
dma_sg = vcontig_sg = startsg;
dma_len = vcontig_len = vcontig_end = startsg->length;
vcontig_end += vaddr;
dma_offset = vaddr & ~IOVP_MASK;
/* PARANOID: clear entries */
sg_dma_address(startsg) = 0;
sg_dma_len(startsg) = 0;
/*
** This loop terminates one iteration "early" since
** it's always looking one "ahead".
*/
while (--nents > 0) {
unsigned long vaddr; /* tmp */
startsg++;
/* PARANOID: clear entries */
sg_dma_address(startsg) = 0;
sg_dma_len(startsg) = 0;
/* catch brokenness in SCSI layer */
ASSERT(startsg->length <= DMA_CHUNK_SIZE);
/*
** First make sure current dma stream won't
** exceed DMA_CHUNK_SIZE if we coalesce the
** next entry.
*/
if (((dma_len + dma_offset + startsg->length + ~IOVP_MASK) & IOVP_MASK) > DMA_CHUNK_SIZE)
break;
/*
** Then look for virtually contiguous blocks.
** PARISC needs to associate a virtual address
** with each IO address mapped. The CPU cache is
** virtually tagged and the IOMMU uses part
** of the virtual address to participate in
** CPU cache coherency.
**
** append the next transaction?
*/
vaddr = (unsigned long) sg_virt_addr(startsg);
if (vcontig_end == vaddr)
{
vcontig_len += startsg->length;
vcontig_end += startsg->length;
dma_len += startsg->length;
continue;
}
#ifdef DEBUG_LARGE_SG_ENTRIES #ifdef DEBUG_LARGE_SG_ENTRIES
dump_run_sg = (vcontig_len > IOVP_SIZE); int dump_run_sg = 0;
#endif #endif
/*
** Not virtually contigous.
** Terminate prev chunk.
** Start a new chunk.
**
** Once we start a new VCONTIG chunk, dma_offset
** can't change. And we need the offset from the first
** chunk - not the last one. Ergo Successive chunks
** must start on page boundaries and dove tail
** with its predecessor.
*/
sg_dma_len(vcontig_sg) = vcontig_len;
vcontig_sg = startsg;
vcontig_len = startsg->length;
/*
** 3) do the entries end/start on page boundaries?
** Don't update vcontig_end until we've checked.
*/
if (DMA_CONTIG(vcontig_end, vaddr))
{
vcontig_end = vcontig_len + vaddr;
dma_len += vcontig_len;
continue;
} else {
break;
}
}
/*
** End of DMA Stream
** Terminate last VCONTIG block.
** Allocate space for DMA stream.
*/
sg_dma_len(vcontig_sg) = vcontig_len;
dma_len = (dma_len + dma_offset + ~IOVP_MASK) & IOVP_MASK;
ASSERT(dma_len <= DMA_CHUNK_SIZE);
sg_dma_address(dma_sg) =
PIDE_FLAG
| (sba_alloc_range(ioc, dma_len) << IOVP_SHIFT)
| dma_offset;
n_mappings++;
}
return n_mappings;
}
/** /**
* sba_map_sg - map Scatter/Gather list * sba_map_sg - map Scatter/Gather list
...@@ -1318,7 +1091,7 @@ sba_map_sg(struct device *dev, struct scatterlist *sglist, int nents, ...@@ -1318,7 +1091,7 @@ sba_map_sg(struct device *dev, struct scatterlist *sglist, int nents,
** w/o this association, we wouldn't have coherent DMA! ** w/o this association, we wouldn't have coherent DMA!
** Access to the virtual address is what forces a two pass algorithm. ** Access to the virtual address is what forces a two pass algorithm.
*/ */
coalesced = sba_coalesce_chunks(ioc, sglist, nents); coalesced = iommu_coalesce_chunks(ioc, sglist, nents, sba_alloc_range);
/* /*
** Program the I/O Pdir ** Program the I/O Pdir
...@@ -1328,7 +1101,7 @@ sba_map_sg(struct device *dev, struct scatterlist *sglist, int nents, ...@@ -1328,7 +1101,7 @@ sba_map_sg(struct device *dev, struct scatterlist *sglist, int nents,
** o dma_len will contain the number of bytes to map ** o dma_len will contain the number of bytes to map
** o address contains the virtual address. ** o address contains the virtual address.
*/ */
filled = sba_fill_pdir(ioc, sglist, nents); filled = iommu_fill_pdir(ioc, sglist, nents, 0, sba_io_pdir_entry);
#ifdef ASSERT_PDIR_SANITY #ifdef ASSERT_PDIR_SANITY
if (sba_check_pdir(ioc,"Check after sba_map_sg()")) if (sba_check_pdir(ioc,"Check after sba_map_sg()"))
...@@ -2047,6 +1820,9 @@ sba_driver_callback(struct parisc_device *dev) ...@@ -2047,6 +1820,9 @@ sba_driver_callback(struct parisc_device *dev)
create_proc_info_entry("bitmap", 0, proc_runway_root, sba_resource_map); create_proc_info_entry("bitmap", 0, proc_runway_root, sba_resource_map);
#endif #endif
#endif #endif
parisc_vmerge_boundary = IOVP_SIZE;
parisc_vmerge_max_size = IOVP_SIZE * BITS_PER_LONG;
return 0; return 0;
} }
......
...@@ -69,11 +69,15 @@ ...@@ -69,11 +69,15 @@
#include <linux/termios.h> #include <linux/termios.h>
#include <linux/tty.h> #include <linux/tty.h>
#include <linux/serial_core.h> #include <linux/serial_core.h>
#include <linux/delay.h>
#include <linux/ide.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/hardware.h> #include <asm/hardware.h>
#include <asm/irq.h> #include <asm/irq.h>
#include <asm/superio.h> #include <asm/superio.h>
#define SUPERIO_IDE_MAX_RETRIES 25
static struct superio_device sio_dev; static struct superio_device sio_dev;
...@@ -161,7 +165,6 @@ superio_init(struct superio_device *sio) ...@@ -161,7 +165,6 @@ superio_init(struct superio_device *sio)
printk (KERN_INFO "SuperIO: Found NS87560 Legacy I/O device at %s (IRQ %i) \n", printk (KERN_INFO "SuperIO: Found NS87560 Legacy I/O device at %s (IRQ %i) \n",
pci_name(pdev),pdev->irq); pci_name(pdev),pdev->irq);
/* Find our I/O devices */
pci_read_config_dword (pdev, SIO_SP1BAR, &sio->sp1_base); pci_read_config_dword (pdev, SIO_SP1BAR, &sio->sp1_base);
sio->sp1_base &= ~1; sio->sp1_base &= ~1;
printk (KERN_INFO "SuperIO: Serial port 1 at 0x%x\n", sio->sp1_base); printk (KERN_INFO "SuperIO: Serial port 1 at 0x%x\n", sio->sp1_base);
...@@ -462,16 +465,72 @@ superio_parport_init(void) ...@@ -462,16 +465,72 @@ superio_parport_init(void)
} }
int static u8 superio_ide_inb (unsigned long port);
superio_get_ide_irq(void) static unsigned long superio_ide_status[2];
static unsigned long superio_ide_select[2];
static unsigned long superio_ide_dma_status[2];
void superio_fixup_pci(struct pci_dev *pdev)
{ {
if (sio_dev.irq_region) u8 prog;
return sio_dev.irq_region->data.irqbase + IDE_IRQ;
else pdev->class |= 0x5;
return 0; pci_write_config_byte(pdev, PCI_CLASS_PROG, pdev->class);
pci_read_config_byte(pdev, PCI_CLASS_PROG, &prog);
printk("PCI: Enabled native mode for NS87415 (pif=0x%x)\n", prog);
}
/* Because of a defect in Super I/O, all reads of the PCI DMA status
* registers, IDE status register and the IDE select register need to be
* retried
*/
static u8 superio_ide_inb (unsigned long port)
{
if (port == superio_ide_status[0] ||
port == superio_ide_status[1] ||
port == superio_ide_select[0] ||
port == superio_ide_select[1] ||
port == superio_ide_dma_status[0] ||
port == superio_ide_dma_status[1]) {
u8 tmp;
int retries = SUPERIO_IDE_MAX_RETRIES;
/* printk(" [ reading port 0x%x with retry ] ", port); */
do {
tmp = inb(port);
if (tmp == 0)
udelay(50);
} while (tmp == 0 && retries-- > 0);
return tmp;
}
return inb(port);
} }
EXPORT_SYMBOL(superio_get_ide_irq); void __init superio_ide_init_iops (struct hwif_s *hwif)
{
u32 base, dmabase;
u8 tmp;
struct pci_dev *pdev = hwif->pci_dev;
u8 port = hwif->channel;
base = pci_resource_start(pdev, port * 2) & ~3;
dmabase = pci_resource_start(pdev, 4) & ~3;
superio_ide_status[port] = base + IDE_STATUS_OFFSET;
superio_ide_select[port] = base + IDE_SELECT_OFFSET;
superio_ide_dma_status[port] = dmabase + (!port ? 2 : 0xa);
/* Clear error/interrupt, enable dma */
tmp = superio_ide_inb(superio_ide_dma_status[port]);
outb(tmp | 0x66, superio_ide_dma_status[port]);
/* We need to override inb to workaround a SuperIO errata */
hwif->INB = superio_ide_inb;
}
static int __devinit superio_probe(struct pci_dev *dev, const struct pci_device_id *id) static int __devinit superio_probe(struct pci_dev *dev, const struct pci_device_id *id)
{ {
......
...@@ -476,7 +476,7 @@ static int __devinit parport_init_chip(struct parisc_device *dev) ...@@ -476,7 +476,7 @@ static int __devinit parport_init_chip(struct parisc_device *dev)
return 0; return 0;
} }
static void __devexit parport_remove_chip(struct parisc_device *dev) static int __devexit parport_remove_chip(struct parisc_device *dev)
{ {
struct parport *p = dev->dev.driver_data; struct parport *p = dev->dev.driver_data;
if (p) { if (p) {
...@@ -495,6 +495,7 @@ static void __devexit parport_remove_chip(struct parisc_device *dev) ...@@ -495,6 +495,7 @@ static void __devexit parport_remove_chip(struct parisc_device *dev)
parport_put_port(p); parport_put_port(p);
kfree (ops); /* hope no-one cached it */ kfree (ops); /* hope no-one cached it */
} }
return 0;
} }
static struct parisc_device_id parport_tbl[] = { static struct parisc_device_id parport_tbl[] = {
...@@ -508,7 +509,7 @@ static struct parisc_driver parport_driver = { ...@@ -508,7 +509,7 @@ static struct parisc_driver parport_driver = {
.name = "Parallel", .name = "Parallel",
.id_table = parport_tbl, .id_table = parport_tbl,
.probe = parport_init_chip, .probe = parport_init_chip,
.remove = parport_remove_chip, .remove = __devexit_p(parport_remove_chip),
}; };
int __devinit parport_gsc_init(void) int __devinit parport_gsc_init(void)
......
/* /* Architecture specific parts of the Floppy driver
* Architecture specific parts of the Floppy driver *
* Linux/PA-RISC Project (http://www.parisc-linux.org/)
* Copyright (C) 2000 Matthew Wilcox (willy a debian . org)
* Copyright (C) 2000 Dave Kennedy
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* *
* This file is subject to the terms and conditions of the GNU General Public * This program is distributed in the hope that it will be useful,
* License. See the file "COPYING" in the main directory of this archive * but WITHOUT ANY WARRANTY; without even the implied warranty of
* for more details. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* *
* Copyright (C) 1995 * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/ */
#ifndef __ASM_PARISC_FLOPPY_H #ifndef __ASM_PARISC_FLOPPY_H
#define __ASM_PARISC_FLOPPY_H #define __ASM_PARISC_FLOPPY_H
......
/* /* Architecture specific parts of HP's STI (framebuffer) driver.
* Architecture specific parts of HP's STI (framebuffer) driver * Structures are HP-UX compatible for XFree86 usage.
* structures are HP-UX compatible for XFree86 usage *
*/ * Linux/PA-RISC Project (http://www.parisc-linux.org/)
* Copyright (C) 2001 Helge Deller (deller a parisc-linux org)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __ASM_PARISC_GRFIOCTL_H #ifndef __ASM_PARISC_GRFIOCTL_H
#define __ASM_PARISC_GRFIOCTL_H #define __ASM_PARISC_GRFIOCTL_H
......
...@@ -14,36 +14,13 @@ ...@@ -14,36 +14,13 @@
#ifdef __KERNEL__ #ifdef __KERNEL__
#include <linux/config.h> #include <linux/config.h>
#include <asm/superio.h>
#ifndef MAX_HWIFS #ifndef MAX_HWIFS
#define MAX_HWIFS 2 #define MAX_HWIFS 2
#endif #endif
static __inline__ int ide_default_irq(ide_ioreg_t base) #define ide_default_irq(base) (0)
{ #define ide_default_io_base(index) ((ide_ioreg_t)0)
switch (base) {
#ifdef CONFIG_SUPERIO
case 0x1f0:
case 0x170:
return superio_get_ide_irq();
#endif /* CONFIG_SUPERIO */
default:
return 0;
}
}
static __inline__ ide_ioreg_t ide_default_io_base(int index)
{
switch (index) {
#ifdef CONFIG_SUPERIO
case 0: return (superio_get_ide_irq() ? 0x1f0 : 0);
case 1: return (superio_get_ide_irq() ? 0x170 : 0);
#endif /* CONFIG_SUPERIO */
default:
return 0;
}
}
static __inline__ void ide_init_hwif_ports(hw_regs_t *hw, ide_ioreg_t data_port, ide_ioreg_t ctrl_port, int *irq) static __inline__ void ide_init_hwif_ports(hw_regs_t *hw, ide_ioreg_t data_port, ide_ioreg_t ctrl_port, int *irq)
{ {
...@@ -93,7 +70,7 @@ static __inline__ void ide_init_default_hwifs(void) ...@@ -93,7 +70,7 @@ static __inline__ void ide_init_default_hwifs(void)
static __inline__ void __ide_mm_insw(unsigned long port, void *addr, u32 count) static __inline__ void __ide_mm_insw(unsigned long port, void *addr, u32 count)
{ {
while (count--) { while (count--) {
*(u16 *)addr = readw(port); *(u16 *)addr = __raw_readw(port);
addr += 2; addr += 2;
} }
} }
...@@ -101,7 +78,7 @@ static __inline__ void __ide_mm_insw(unsigned long port, void *addr, u32 count) ...@@ -101,7 +78,7 @@ static __inline__ void __ide_mm_insw(unsigned long port, void *addr, u32 count)
static __inline__ void __ide_mm_insl(unsigned long port, void *addr, u32 count) static __inline__ void __ide_mm_insl(unsigned long port, void *addr, u32 count)
{ {
while (count--) { while (count--) {
*(u32 *)addr = readl(port); *(u32 *)addr = __raw_readl(port);
addr += 4; addr += 4;
} }
} }
...@@ -109,7 +86,7 @@ static __inline__ void __ide_mm_insl(unsigned long port, void *addr, u32 count) ...@@ -109,7 +86,7 @@ static __inline__ void __ide_mm_insl(unsigned long port, void *addr, u32 count)
static __inline__ void __ide_mm_outsw(unsigned long port, void *addr, u32 count) static __inline__ void __ide_mm_outsw(unsigned long port, void *addr, u32 count)
{ {
while (count--) { while (count--) {
writew(*(u16 *)addr, port); __raw_writew(*(u16 *)addr, port);
addr += 2; addr += 2;
} }
} }
...@@ -117,7 +94,7 @@ static __inline__ void __ide_mm_outsw(unsigned long port, void *addr, u32 count) ...@@ -117,7 +94,7 @@ static __inline__ void __ide_mm_outsw(unsigned long port, void *addr, u32 count)
static __inline__ void __ide_mm_outsl(unsigned long port, void *addr, u32 count) static __inline__ void __ide_mm_outsl(unsigned long port, void *addr, u32 count)
{ {
while (count--) { while (count--) {
writel(*(u32 *)addr, port); __raw_writel(*(u32 *)addr, port);
addr += 4; addr += 4;
} }
} }
......
...@@ -13,6 +13,12 @@ ...@@ -13,6 +13,12 @@
#include <linux/types.h> #include <linux/types.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
extern unsigned long parisc_vmerge_boundary;
extern unsigned long parisc_vmerge_max_size;
#define BIO_VMERGE_BOUNDARY parisc_vmerge_boundary
#define BIO_VMERGE_MAX_SIZE parisc_vmerge_max_size
#define virt_to_phys(a) ((unsigned long)__pa(a)) #define virt_to_phys(a) ((unsigned long)__pa(a))
#define phys_to_virt(a) __va(a) #define phys_to_virt(a) __va(a)
#define virt_to_bus virt_to_phys #define virt_to_bus virt_to_phys
......
/* $Id: ioctl.h,v 1.2 1999/12/29 22:18:15 willy Exp $ /*
* Linux/PA-RISC Project (http://www.parisc-linux.org/)
* Copyright (C) 1999,2003 Matthew Wilcox < willy at debian . org >
* portions from "linux/ioctl.h for Linux" by H.H. Bergman.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* *
* linux/ioctl.h for Linux by H.H. Bergman. * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/ */
#ifndef _ASM_PARISC_IOCTL_H #ifndef _ASM_PARISC_IOCTL_H
#define _ASM_PARISC_IOCTL_H #define _ASM_PARISC_IOCTL_H
......
/*
* WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
* ---------------------------------------------------------------
* This file will be removed as soon as we have converted
* hp_psaux.c and hp_keyb.c to the input layer !
*
*/
/*
* linux/include/asm-parisc/keyboard.h
*
* Original by Geert Uytterhoeven
* updates by Alex deVries <adevries@thepuffingroup.com>
* portions copyright (1999) The Puffin Group
* mostly rewritten by Philipp Rumpf <prumpf@tux.org>,
* Copyright 2000 Philipp Rumpf
*/
/*
* We try to keep the amount of generic code as low as possible -
* we want to support all HIL, PS/2, and untranslated USB keyboards
*/
#ifndef _PARISC_KEYBOARD_H
#define _PARISC_KEYBOARD_H
#ifdef __KERNEL__
#include <linux/kernel.h>
#include <linux/kd.h>
/* These are basically the generic functions / variables. The only
* unexpected detail is the initialization sequence for the keyboard
* driver is something like this:
*
* detect keyboard port
* detect keyboard
* call register_kbd_ops
* wait for init_hw
*
* only after init_hw has been called you're allowed to call
* handle_scancode. This means you either have to be extremely
* careful or use a global flag or something - I strongly suggest
* the latter. prumpf */
extern struct kbd_ops {
int (*setkeycode)(unsigned int, unsigned int);
int (*getkeycode)(unsigned int);
int (*translate)(unsigned char, unsigned char *, char);
char (*unexpected_up)(unsigned char);
void (*leds)(unsigned char);
void (*init_hw)(void);
/* Keyboard driver resource allocation */
int (*kbd_request_irq)(void (*handler)(int, void *, struct pt_regs *));
unsigned char sysrq_key;
unsigned char *sysrq_xlate;
} kbd_ops;
#define kbd_setkeycode (*kbd_ops->setkeycode)
#define kbd_getkeycode (*kbd_ops->getkeycode)
#define kbd_translate (*kbd_ops->translate)
#define kbd_unexpected_up (*kbd_ops->unexpected_up)
#define kbd_leds (*kbd_ops->leds)
#define kbd_init_hw (*kbd_ops->init_hw)
#define SYSRQ_KEY (kbd_ops->sysrq_key)
#define kbd_sysrq_xlate (kbd_ops->sysrq_xlate)
/* Do the actual calls via kbd_ops vector */
#define kbd_request_irq(handler) kbd_ops->kbd_request_irq(handler)
extern unsigned char hp_ps2kbd_sysrq_xlate[128]; /* from drivers/char/hp_keyb.c */
extern void unregister_kbd_ops(void);
extern void register_kbd_ops(struct kbd_ops *ops);
#endif /* __KERNEL__ */
#endif /* __ASMPARISC_KEYBOARD_H */
/* $Id: md.h,v 1.1.1.1 1999/03/15 19:41:02 pjlahaie Exp $
* md.h: High speed xor_block operation for RAID4/5
*
*/
#ifndef __ASM_MD_H
#define __ASM_MD_H
/* #define HAVE_ARCH_XORBLOCK */
#define MD_XORBLOCK_ALIGNMENT sizeof(long)
#endif /* __ASM_MD_H */
/* $Id: namei.h,v 1.1.1.1 1999/03/15 19:41:02 pjlahaie Exp $ /* $Id: namei.h,v 1.1 1996/12/13 14:48:21 jj Exp $
* linux/include/asm-parisc/namei.h * linux/include/asm-parisc/namei.h
* *
* Included from linux/fs/namei.c * Included from linux/fs/namei.c
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
** **
** This is the "common" or "base" data structure which HBA drivers ** This is the "common" or "base" data structure which HBA drivers
** (eg Dino or LBA) are required to place at the top of their own ** (eg Dino or LBA) are required to place at the top of their own
** dev->sysdata structure. I've heard this called "C inheritance" too. ** platform_data structure. I've heard this called "C inheritance" too.
** **
** Data needed by pcibios layer belongs here. ** Data needed by pcibios layer belongs here.
*/ */
......
#ifndef _ASM_PARISC_SEMAPHORE_H /* SMP- and interrupt-safe semaphores.
#define _ASM_PARISC_SEMAPHORE_H * PA-RISC version by Matthew Wilcox
/*
* SMP- and interrupt-safe semaphores.
* *
* (C) Copyright 1996 Linus Torvalds * Linux/PA-RISC Project (http://www.parisc-linux.org/)
* Copyright (C) 1996 Linus Torvalds
* Copyright (C) 1999-2001 Matthew Wilcox < willy at debian d0T org >
* Copyright (C) 2000 Grant Grundler < grundler a debian org >
* *
* PA-RISC version by Matthew Wilcox * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/ */
#ifndef _ASM_PARISC_SEMAPHORE_H
#define _ASM_PARISC_SEMAPHORE_H
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <linux/wait.h> #include <linux/wait.h>
#include <linux/rwsem.h> #include <linux/rwsem.h>
......
...@@ -81,9 +81,12 @@ struct superio_device { ...@@ -81,9 +81,12 @@ struct superio_device {
|| ((x)->device == PCI_DEVICE_ID_NS_87560_LIO) \ || ((x)->device == PCI_DEVICE_ID_NS_87560_LIO) \
|| ((x)->device == PCI_DEVICE_ID_NS_87560_USB) ) ) || ((x)->device == PCI_DEVICE_ID_NS_87560_USB) ) )
struct hwif_s;
extern void superio_inform_irq(int irq); extern void superio_inform_irq(int irq);
extern void superio_serial_init(void); /* called by rs_init() */ extern void superio_serial_init(void); /* called by rs_init() */
extern int superio_fixup_irq(struct pci_dev *pcidev); /* called by iosapic */ extern int superio_fixup_irq(struct pci_dev *pcidev); /* called by iosapic */
extern int superio_get_ide_irq(void); extern void superio_fixup_pci(struct pci_dev *pdev);
extern void superio_ide_init_iops (struct hwif_s *hwif);
#endif /* _PARISC_SUPERIO_H */ #endif /* _PARISC_SUPERIO_H */
...@@ -358,7 +358,7 @@ static void snd_harmony_enable_interrupts(snd_card_harmony_t *chip) ...@@ -358,7 +358,7 @@ static void snd_harmony_enable_interrupts(snd_card_harmony_t *chip)
* The interrupt routine must provide adresse of next physical pages * The interrupt routine must provide adresse of next physical pages
* used by harmony * used by harmony
*/ */
void snd_card_harmony_interrupt(int irq, void *dev, struct pt_regs *regs) static int snd_card_harmony_interrupt(int irq, void *dev, struct pt_regs *regs)
{ {
snd_card_harmony_t *harmony = (snd_card_harmony_t *)dev; snd_card_harmony_t *harmony = (snd_card_harmony_t *)dev;
u32 dstatus = 0; u32 dstatus = 0;
...@@ -414,6 +414,8 @@ void snd_card_harmony_interrupt(int irq, void *dev, struct pt_regs *regs) ...@@ -414,6 +414,8 @@ void snd_card_harmony_interrupt(int irq, void *dev, struct pt_regs *regs)
} }
} }
snd_harmony_enable_interrupts(harmony); snd_harmony_enable_interrupts(harmony);
return IRQ_HANDLED;
} }
/* /*
......
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