Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
c34d6311
Commit
c34d6311
authored
Mar 03, 2004
by
David Mosberger
Browse files
Options
Browse Files
Download
Plain Diff
Merge tiger.hpl.hp.com:/data1/bk/vanilla/linux-2.5
into tiger.hpl.hp.com:/data1/bk/lia64/to-linus-2.5
parents
8f7155ad
fb329400
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1330 additions
and
153 deletions
+1330
-153
arch/ia64/configs/zx1_defconfig
arch/ia64/configs/zx1_defconfig
+1078
-0
arch/ia64/hp/common/sba_iommu.c
arch/ia64/hp/common/sba_iommu.c
+31
-37
arch/ia64/hp/sim/simserial.c
arch/ia64/hp/sim/simserial.c
+4
-15
arch/ia64/kernel/head.S
arch/ia64/kernel/head.S
+2
-2
arch/ia64/kernel/irq_ia64.c
arch/ia64/kernel/irq_ia64.c
+15
-0
arch/ia64/kernel/mca.c
arch/ia64/kernel/mca.c
+0
-3
arch/ia64/kernel/process.c
arch/ia64/kernel/process.c
+2
-2
arch/ia64/kernel/sal.c
arch/ia64/kernel/sal.c
+111
-72
arch/ia64/pci/pci.c
arch/ia64/pci/pci.c
+54
-7
drivers/char/sn_serial.c
drivers/char/sn_serial.c
+22
-0
include/asm-ia64/hardirq.h
include/asm-ia64/hardirq.h
+1
-11
include/asm-ia64/sal.h
include/asm-ia64/sal.h
+9
-4
include/asm-ia64/sn/router.h
include/asm-ia64/sn/router.h
+1
-0
No files found.
arch/ia64/configs/zx1_defconfig
0 → 100644
View file @
c34d6311
#
# Automatically generated make config: don't edit
#
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
# CONFIG_CLEAN_COMPILE is not set
CONFIG_STANDALONE=y
CONFIG_BROKEN=y
CONFIG_BROKEN_ON_SMP=y
#
# General setup
#
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=17
CONFIG_HOTPLUG=y
# CONFIG_IKCONFIG is not set
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
#
# Loadable module support
#
# CONFIG_MODULES is not set
#
# Processor type and features
#
CONFIG_IA64=y
CONFIG_64BIT=y
CONFIG_MMU=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_TIME_INTERPOLATION=y
CONFIG_EFI=y
# CONFIG_ITANIUM is not set
CONFIG_MCKINLEY=y
# CONFIG_IA64_GENERIC is not set
# CONFIG_IA64_DIG is not set
CONFIG_IA64_HP_ZX1=y
# CONFIG_IA64_SGI_SN2 is not set
# CONFIG_IA64_HP_SIM is not set
# CONFIG_IA64_PAGE_SIZE_4KB is not set
# CONFIG_IA64_PAGE_SIZE_8KB is not set
CONFIG_IA64_PAGE_SIZE_16KB=y
# CONFIG_IA64_PAGE_SIZE_64KB is not set
CONFIG_ACPI=y
CONFIG_ACPI_INTERPRETER=y
CONFIG_ACPI_KERNEL_CONFIG=y
CONFIG_IA64_L1_CACHE_SHIFT=7
# CONFIG_MCKINLEY_ASTEP_SPECIFIC is not set
# CONFIG_NUMA is not set
CONFIG_VIRTUAL_MEM_MAP=y
CONFIG_IA64_MCA=y
# CONFIG_IA64_CYCLONE is not set
CONFIG_PM=y
CONFIG_IOSAPIC=y
CONFIG_FORCE_MAX_ZONEORDER=18
# CONFIG_HUGETLB_PAGE_SIZE_4GB is not set
# CONFIG_HUGETLB_PAGE_SIZE_1GB is not set
# CONFIG_HUGETLB_PAGE_SIZE_256MB is not set
CONFIG_HUGETLB_PAGE_SIZE_64MB=y
# CONFIG_HUGETLB_PAGE_SIZE_16MB is not set
# CONFIG_HUGETLB_PAGE_SIZE_4MB is not set
# CONFIG_HUGETLB_PAGE_SIZE_1MB is not set
# CONFIG_HUGETLB_PAGE_SIZE_256KB is not set
CONFIG_IA64_PAL_IDLE=y
CONFIG_SMP=y
CONFIG_NR_CPUS=16
# CONFIG_PREEMPT is not set
CONFIG_HAVE_DEC_LOCK=y
CONFIG_IA32_SUPPORT=y
CONFIG_COMPAT=y
CONFIG_PERFMON=y
CONFIG_IA64_PALINFO=y
CONFIG_EFI_VARS=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y
#
# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI_BOOT=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_BUS=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PCI=y
CONFIG_ACPI_SYSTEM=y
# CONFIG_ACPI_RELAXED_AML is not set
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_NAMES=y
#
# PCI Hotplug Support
#
CONFIG_HOTPLUG_PCI=y
# CONFIG_HOTPLUG_PCI_FAKE is not set
CONFIG_HOTPLUG_PCI_ACPI=y
# CONFIG_HOTPLUG_PCI_CPCI is not set
# CONFIG_HOTPLUG_PCI_PCIE is not set
# CONFIG_HOTPLUG_PCI_SHPC is not set
#
# PCMCIA/CardBus support
#
# CONFIG_PCMCIA is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
#
# Generic Driver Options
#
# CONFIG_FW_LOADER is not set
#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set
#
# Plug and Play support
#
#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
# CONFIG_DCSSBLK is not set
#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
#
# Please see Documentation/ide.txt for help/info on IDE drives
#
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set
# CONFIG_IDEDISK_STROKE is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_IDE_TASK_IOCTL is not set
# CONFIG_IDE_TASKFILE_IO is not set
#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
# CONFIG_IDEDMA_PCI_AUTO is not set
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
CONFIG_BLK_DEV_CMD64X=y
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
# CONFIG_IDEDMA_AUTO is not set
# CONFIG_DMA_NONPCI is not set
# CONFIG_BLK_DEV_HD is not set
#
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set
#
# I2O device support
#
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
#
# Fusion MPT device support
#
CONFIG_FUSION=y
CONFIG_FUSION_BOOT=y
CONFIG_FUSION_MAX_SGE=40
#
# SCSI device support
#
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_CHR_DEV_OSST=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_REPORT_LUNS=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_ADVANSYS is not set
CONFIG_SCSI_MEGARAID=y
# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA 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_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
CONFIG_SCSI_SYM53C8XX_2=y
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
# CONFIG_SCSI_PCI2000 is not set
# CONFIG_SCSI_PCI2220I is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
CONFIG_SCSI_QLOGIC_1280=y
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_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_DEBUG is not set
#
# Networking support
#
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
# CONFIG_NETLINK_DEV is not set
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_INET_ECN is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
#
# IP: Virtual Server Configuration
#
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
#
# IP: Netfilter Configuration
#
# CONFIG_IP_NF_CONNTRACK is not set
# CONFIG_IP_NF_QUEUE is not set
# CONFIG_IP_NF_IPTABLES is not set
CONFIG_IP_NF_ARPTABLES=y
# CONFIG_IP_NF_ARPFILTER is not set
# CONFIG_IP_NF_ARP_MANGLE is not set
# CONFIG_IP_NF_COMPAT_IPCHAINS is not set
# CONFIG_IP_NF_COMPAT_IPFWADM is not set
#
# SCTP Configuration (EXPERIMENTAL)
#
CONFIG_IPV6_SCTP__=y
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
# CONFIG_NET_HW_FLOWCONTROL is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
CONFIG_NETDEVICES=y
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
CONFIG_DUMMY=y
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
#
# Tulip family network device support
#
CONFIG_NET_TULIP=y
# CONFIG_DE2104X is not set
CONFIG_TULIP=y
CONFIG_TULIP_MWI=y
CONFIG_TULIP_MMIO=y
CONFIG_TULIP_NAPI=y
CONFIG_TULIP_NAPI_HW_MITIGATION=y
# CONFIG_DE4X5 is not set
# CONFIG_WINBOND_840 is not set
# CONFIG_DM9102 is not set
# CONFIG_HP100 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
CONFIG_E100=y
# CONFIG_E100_NAPI is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_VIA_RHINE is not set
#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
CONFIG_E1000=y
# CONFIG_E1000_NAPI is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SK98LIN is not set
CONFIG_TIGON3=y
#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set
#
# Token Ring devices
#
# CONFIG_TR is not set
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
#
# Amateur Radio support
#
# CONFIG_HAMRADIO is not set
#
# IrDA (infrared) support
#
# CONFIG_IRDA is not set
#
# Bluetooth support
#
# CONFIG_BT is not set
#
# ISDN subsystem
#
# CONFIG_ISDN is not set
#
# Input device support
#
CONFIG_INPUT=y
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=y
# CONFIG_INPUT_TSDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set
#
# Input I/O drivers
#
# CONFIG_GAMEPORT is not set
CONFIG_SOUND_GAMEPORT=y
CONFIG_SERIO=y
# CONFIG_SERIO_I8042 is not set
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
#
# Input Device Drivers
#
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set
#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_HCDP=y
CONFIG_SERIAL_8250_ACPI=y
CONFIG_SERIAL_8250_NR_UARTS=8
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_MULTIPORT is not set
# CONFIG_SERIAL_8250_RSA is not set
#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
#
# Mice
#
# CONFIG_BUSMOUSE is not set
# CONFIG_QIC02_TAPE is not set
#
# IPMI
#
# CONFIG_IPMI_HANDLER is not set
#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_NVRAM is not set
# CONFIG_GEN_RTC is not set
CONFIG_EFI_RTC=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
CONFIG_AGP=y
CONFIG_AGP_HP_ZX1=y
CONFIG_DRM=y
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_GAMMA is not set
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=y
# CONFIG_DRM_MGA is not set
# CONFIG_DRM_SIS is not set
# CONFIG_RAW_DRIVER is not set
#
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=y
CONFIG_I2C_ALGOPCF=y
#
# I2C Hardware Bus support
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_ELV is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_I810 is not set
# CONFIG_I2C_ISA is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_SAVAGE4 is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VELLEMAN is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
# CONFIG_I2C_VOODOO3 is not set
#
# I2C Hardware Sensors Chip support
#
# CONFIG_I2C_SENSOR is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_EEPROM is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set
#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
# CONFIG_EXT2_FS_POSIX_ACL is not set
# CONFIG_EXT2_FS_SECURITY is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
# CONFIG_EXT3_FS_SECURITY is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_QUOTA is not set
CONFIG_AUTOFS_FS=y
# CONFIG_AUTOFS4_FS is not set
#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
# CONFIG_ZISOFS is not set
CONFIG_UDF_FS=y
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
# CONFIG_DEVFS_FS is not set
# CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_RAMFS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
#
# Network File Systems
#
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_NFS_V4=y
# CONFIG_NFS_DIRECTIO is not set
CONFIG_NFSD=y
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V4 is not set
# CONFIG_NFSD_TCP is not set
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_INTERMEZZO_FS is not set
# CONFIG_AFS_FS is not set
#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_NEC98_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
CONFIG_EFI_PARTITION=y
#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=y
CONFIG_NLS_CODEPAGE_775=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_CODEPAGE_852=y
CONFIG_NLS_CODEPAGE_855=y
CONFIG_NLS_CODEPAGE_857=y
CONFIG_NLS_CODEPAGE_860=y
CONFIG_NLS_CODEPAGE_861=y
CONFIG_NLS_CODEPAGE_862=y
CONFIG_NLS_CODEPAGE_863=y
CONFIG_NLS_CODEPAGE_864=y
CONFIG_NLS_CODEPAGE_865=y
CONFIG_NLS_CODEPAGE_866=y
CONFIG_NLS_CODEPAGE_869=y
CONFIG_NLS_CODEPAGE_936=y
CONFIG_NLS_CODEPAGE_950=y
CONFIG_NLS_CODEPAGE_932=y
CONFIG_NLS_CODEPAGE_949=y
CONFIG_NLS_CODEPAGE_874=y
CONFIG_NLS_ISO8859_8=y
# CONFIG_NLS_CODEPAGE_1250 is not set
CONFIG_NLS_CODEPAGE_1251=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=y
CONFIG_NLS_ISO8859_3=y
CONFIG_NLS_ISO8859_4=y
CONFIG_NLS_ISO8859_5=y
CONFIG_NLS_ISO8859_6=y
CONFIG_NLS_ISO8859_7=y
CONFIG_NLS_ISO8859_9=y
CONFIG_NLS_ISO8859_13=y
CONFIG_NLS_ISO8859_14=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_KOI8_R=y
CONFIG_NLS_KOI8_U=y
CONFIG_NLS_UTF8=y
#
# Graphics support
#
CONFIG_FB=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON_OLD is not set
CONFIG_FB_RADEON=y
CONFIG_FB_RADEON_I2C=y
CONFIG_FB_RADEON_DEBUG=y
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_VIRTUAL is not set
#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_PCI_CONSOLE=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
#
# Logo configuration
#
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y
#
# Sound
#
CONFIG_SOUND=y
#
# Advanced Linux Sound Architecture
#
CONFIG_SND=y
CONFIG_SND_SEQUENCER=y
# CONFIG_SND_SEQ_DUMMY is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_SEQUENCER_OSS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
#
# Generic devices
#
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
#
# PCI devices
#
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_MAESTRO3 is not set
CONFIG_SND_FM801=y
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VX222 is not set
#
# ALSA USB devices
#
# CONFIG_SND_USB_AUDIO is not set
#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set
#
# USB support
#
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
#
# Miscellaneous USB options
#
# CONFIG_USB_DEVICEFS is not set
CONFIG_USB_BANDWIDTH=y
# CONFIG_USB_DYNAMIC_MINORS is not set
#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_UHCI_HCD=y
#
# USB Device Class drivers
#
# CONFIG_USB_AUDIO is not set
# CONFIG_USB_BLUETOOTH_TTY is not set
# CONFIG_USB_MIDI is not set
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_HP8200e is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
#
# USB Human Interface Devices (HID)
#
CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT=y
# CONFIG_HID_FF is not set
CONFIG_USB_HIDDEV=y
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_XPAD is not set
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_HPUSBSCSI is not set
#
# USB Multimedia devices
#
# CONFIG_USB_DABUSB is not set
#
# Video4Linux support is needed for USB Multimedia device support
#
#
# USB Network adaptors
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
#
# USB port drivers
#
#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_TIGL is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_BRLVGER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# Library routines
#
CONFIG_CRC32=y
#
# Profiling support
#
# CONFIG_PROFILING is not set
#
# Kernel hacking
#
CONFIG_IA64_GRANULE_16MB=y
# CONFIG_IA64_GRANULE_64MB is not set
CONFIG_DEBUG_KERNEL=y
CONFIG_IA64_PRINT_HAZARDS=y
# CONFIG_DISABLE_VHPT is not set
CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_IA64_DEBUG_CMPXCHG is not set
# CONFIG_IA64_DEBUG_IRQ is not set
# CONFIG_DEBUG_INFO is not set
#
# Security options
#
# CONFIG_SECURITY is not set
#
# Cryptographic options
#
# CONFIG_CRYPTO is not set
arch/ia64/hp/common/sba_iommu.c
View file @
c34d6311
...
@@ -1479,7 +1479,6 @@ ioc_iova_init(struct ioc *ioc)
...
@@ -1479,7 +1479,6 @@ ioc_iova_init(struct ioc *ioc)
#ifdef FULL_VALID_PDIR
#ifdef FULL_VALID_PDIR
unsigned
long
index
;
unsigned
long
index
;
#endif
#endif
unsigned
int
i
;
/*
/*
** Firmware programs the base and size of a "safe IOVA space"
** Firmware programs the base and size of a "safe IOVA space"
...
@@ -1574,18 +1573,6 @@ ioc_iova_init(struct ioc *ioc)
...
@@ -1574,18 +1573,6 @@ ioc_iova_init(struct ioc *ioc)
/* Enable IOVA translation */
/* Enable IOVA translation */
WRITE_REG
(
ioc
->
ibase
|
1
,
ioc
->
ioc_hpa
+
IOC_IBASE
);
WRITE_REG
(
ioc
->
ibase
|
1
,
ioc
->
ioc_hpa
+
IOC_IBASE
);
READ_REG
(
ioc
->
ioc_hpa
+
IOC_IBASE
);
READ_REG
(
ioc
->
ioc_hpa
+
IOC_IBASE
);
/* Clear ROPE(N)_CONFIG AO bit.
** Disables "NT Ordering" (~= !"Relaxed Ordering")
** Overrides bit 1 in DMA Hint Sets.
** Improves netperf UDP_STREAM by ~10% for tg3 on bcm5701.
*/
for
(
i
=
0
;
i
<
(
8
*
8
);
i
+=
8
)
{
unsigned
long
rope_config
;
rope_config
=
READ_REG
(
ioc
->
ioc_hpa
+
IOC_ROPE0_CFG
+
i
);
rope_config
&=
~
IOC_ROPE_AO
;
WRITE_REG
(
rope_config
,
ioc
->
ioc_hpa
+
IOC_ROPE0_CFG
+
i
);
}
}
}
static
void
__init
static
void
__init
...
@@ -1659,26 +1646,25 @@ ioc_sac_init(struct ioc *ioc)
...
@@ -1659,26 +1646,25 @@ ioc_sac_init(struct ioc *ioc)
static
void
__init
static
void
__init
ioc_zx1_init
(
struct
ioc
*
ioc
)
ioc_zx1_init
(
struct
ioc
*
ioc
)
{
{
unsigned
long
rope_config
;
unsigned
int
i
;
if
(
ioc
->
rev
<
0x20
)
if
(
ioc
->
rev
<
0x20
)
panic
(
PFX
"IOC 2.0 or later required for IOMMU support
\n
"
);
panic
(
PFX
"IOC 2.0 or later required for IOMMU support
\n
"
);
ioc
->
dma_mask
=
0xFFFFFFFFFFUL
;
/* 38 bit memory controller + extra bit for range displaced by MMIO */
ioc
->
dma_mask
=
(
0x1UL
<<
39
)
-
1
;
if
(
!
iovp_shift
)
{
/*
/* 64k is max iommu page size */
** Clear ROPE(N)_CONFIG AO bit.
iovp_shift
=
min
(
PAGE_SHIFT
,
16
);
** Disables "NT Ordering" (~= !"Relaxed Ordering")
iovp_size
=
(
1
<<
iovp_shift
);
** Overrides bit 1 in DMA Hint Sets.
iovp_mask
=
~
(
iovp_size
-
1
);
** Improves netperf UDP_STREAM by ~10% for tg3 on bcm5701.
}
*/
}
for
(
i
=
0
;
i
<
(
8
*
8
);
i
+=
8
)
{
rope_config
=
READ_REG
(
ioc
->
ioc_hpa
+
IOC_ROPE0_CFG
+
i
);
static
void
__init
rope_config
&=
~
IOC_ROPE_AO
;
ioc_sx1000_init
(
struct
ioc
*
ioc
)
WRITE_REG
(
rope_config
,
ioc
->
ioc_hpa
+
IOC_ROPE0_CFG
+
i
);
{
if
(
!
iovp_shift
)
{
iovp_shift
=
12
;
/* 4K for now */
iovp_size
=
(
1
<<
iovp_shift
);
iovp_mask
=
~
(
iovp_size
-
1
);
}
}
}
}
...
@@ -1692,8 +1678,6 @@ struct ioc_iommu {
...
@@ -1692,8 +1678,6 @@ struct ioc_iommu {
static
struct
ioc_iommu
ioc_iommu_info
[]
__initdata
=
{
static
struct
ioc_iommu
ioc_iommu_info
[]
__initdata
=
{
{
ZX1_IOC_ID
,
"zx1"
,
ioc_zx1_init
},
{
ZX1_IOC_ID
,
"zx1"
,
ioc_zx1_init
},
{
REO_IOC_ID
,
"REO"
,
ioc_sx1000_init
},
{
SX1000_IOC_ID
,
"sx1000"
,
ioc_sx1000_init
},
};
};
static
struct
ioc
*
__init
static
struct
ioc
*
__init
...
@@ -1718,11 +1702,6 @@ ioc_init(u64 hpa, void *handle)
...
@@ -1718,11 +1702,6 @@ ioc_init(u64 hpa, void *handle)
ioc
->
rev
=
READ_REG
(
ioc
->
ioc_hpa
+
IOC_FCLASS
)
&
0xFFUL
;
ioc
->
rev
=
READ_REG
(
ioc
->
ioc_hpa
+
IOC_FCLASS
)
&
0xFFUL
;
ioc
->
dma_mask
=
0xFFFFFFFFFFFFFFFFUL
;
/* conservative */
ioc
->
dma_mask
=
0xFFFFFFFFFFFFFFFFUL
;
/* conservative */
if
(
iovp_shift
)
{
iovp_size
=
(
1
<<
iovp_shift
);
iovp_mask
=
~
(
iovp_size
-
1
);
}
for
(
info
=
ioc_iommu_info
;
info
<
ioc_iommu_info
+
ARRAY_SIZE
(
ioc_iommu_info
);
info
++
)
{
for
(
info
=
ioc_iommu_info
;
info
<
ioc_iommu_info
+
ARRAY_SIZE
(
ioc_iommu_info
);
info
++
)
{
if
(
ioc
->
func_id
==
info
->
func_id
)
{
if
(
ioc
->
func_id
==
info
->
func_id
)
{
ioc
->
name
=
info
->
name
;
ioc
->
name
=
info
->
name
;
...
@@ -1730,6 +1709,10 @@ ioc_init(u64 hpa, void *handle)
...
@@ -1730,6 +1709,10 @@ ioc_init(u64 hpa, void *handle)
(
info
->
init
)(
ioc
);
(
info
->
init
)(
ioc
);
}
}
}
}
iovp_size
=
(
1
<<
iovp_shift
);
iovp_mask
=
~
(
iovp_size
-
1
);
DBG_INIT
(
"%s: PAGE_SIZE %ldK, iovp_size %ldK
\n
"
,
__FUNCTION__
,
DBG_INIT
(
"%s: PAGE_SIZE %ldK, iovp_size %ldK
\n
"
,
__FUNCTION__
,
PAGE_SIZE
>>
10
,
iovp_size
>>
10
);
PAGE_SIZE
>>
10
,
iovp_size
>>
10
);
...
@@ -1929,10 +1912,21 @@ acpi_sba_ioc_add(struct acpi_device *device)
...
@@ -1929,10 +1912,21 @@ acpi_sba_ioc_add(struct acpi_device *device)
* For HWP0001, only SBA appears in ACPI namespace. It encloses the PCI
* For HWP0001, only SBA appears in ACPI namespace. It encloses the PCI
* root bridges, and its CSR space includes the IOC function.
* root bridges, and its CSR space includes the IOC function.
*/
*/
if
(
strncmp
(
"HWP0001"
,
dev_info
->
hardware_id
.
value
,
7
)
==
0
)
if
(
strncmp
(
"HWP0001"
,
dev_info
->
hardware_id
.
value
,
7
)
==
0
)
{
hpa
+=
ZX1_IOC_OFFSET
;
hpa
+=
ZX1_IOC_OFFSET
;
/* zx1 based systems default to kernel page size iommu pages */
if
(
!
iovp_shift
)
iovp_shift
=
min
(
PAGE_SHIFT
,
16
);
}
ACPI_MEM_FREE
(
dev_info
);
ACPI_MEM_FREE
(
dev_info
);
/*
* default anything not caught above or specified on cmdline to 4k
* iommu page size
*/
if
(
!
iovp_shift
)
iovp_shift
=
12
;
ioc
=
ioc_init
(
hpa
,
device
->
handle
);
ioc
=
ioc_init
(
hpa
,
device
->
handle
);
if
(
!
ioc
)
if
(
!
ioc
)
return
1
;
return
1
;
...
...
arch/ia64/hp/sim/simserial.c
View file @
c34d6311
...
@@ -636,7 +636,6 @@ static void rs_close(struct tty_struct *tty, struct file * filp)
...
@@ -636,7 +636,6 @@ static void rs_close(struct tty_struct *tty, struct file * filp)
#ifdef SIMSERIAL_DEBUG
#ifdef SIMSERIAL_DEBUG
printk
(
"rs_close: hung_up
\n
"
);
printk
(
"rs_close: hung_up
\n
"
);
#endif
#endif
MOD_DEC_USE_COUNT
;
local_irq_restore
(
flags
);
local_irq_restore
(
flags
);
return
;
return
;
}
}
...
@@ -661,7 +660,6 @@ static void rs_close(struct tty_struct *tty, struct file * filp)
...
@@ -661,7 +660,6 @@ static void rs_close(struct tty_struct *tty, struct file * filp)
state
->
count
=
0
;
state
->
count
=
0
;
}
}
if
(
state
->
count
)
{
if
(
state
->
count
)
{
MOD_DEC_USE_COUNT
;
local_irq_restore
(
flags
);
local_irq_restore
(
flags
);
return
;
return
;
}
}
...
@@ -686,7 +684,6 @@ static void rs_close(struct tty_struct *tty, struct file * filp)
...
@@ -686,7 +684,6 @@ static void rs_close(struct tty_struct *tty, struct file * filp)
}
}
info
->
flags
&=
~
(
ASYNC_NORMAL_ACTIVE
|
ASYNC_CLOSING
);
info
->
flags
&=
~
(
ASYNC_NORMAL_ACTIVE
|
ASYNC_CLOSING
);
wake_up_interruptible
(
&
info
->
close_wait
);
wake_up_interruptible
(
&
info
->
close_wait
);
MOD_DEC_USE_COUNT
;
}
}
/*
/*
...
@@ -874,17 +871,12 @@ static int rs_open(struct tty_struct *tty, struct file * filp)
...
@@ -874,17 +871,12 @@ static int rs_open(struct tty_struct *tty, struct file * filp)
int
retval
,
line
;
int
retval
,
line
;
unsigned
long
page
;
unsigned
long
page
;
MOD_INC_USE_COUNT
;
line
=
tty
->
index
;
line
=
tty
->
index
;
if
((
line
<
0
)
||
(
line
>=
NR_PORTS
))
{
if
((
line
<
0
)
||
(
line
>=
NR_PORTS
))
MOD_DEC_USE_COUNT
;
return
-
ENODEV
;
return
-
ENODEV
;
}
retval
=
get_async_struct
(
line
,
&
info
);
retval
=
get_async_struct
(
line
,
&
info
);
if
(
retval
)
{
if
(
retval
)
MOD_DEC_USE_COUNT
;
return
retval
;
return
retval
;
}
tty
->
driver_data
=
info
;
tty
->
driver_data
=
info
;
info
->
tty
=
tty
;
info
->
tty
=
tty
;
...
@@ -895,10 +887,8 @@ static int rs_open(struct tty_struct *tty, struct file * filp)
...
@@ -895,10 +887,8 @@ static int rs_open(struct tty_struct *tty, struct file * filp)
if
(
!
tmp_buf
)
{
if
(
!
tmp_buf
)
{
page
=
get_zeroed_page
(
GFP_KERNEL
);
page
=
get_zeroed_page
(
GFP_KERNEL
);
if
(
!
page
)
{
if
(
!
page
)
/* MOD_DEC_USE_COUNT; "info->tty" will cause this? */
return
-
ENOMEM
;
return
-
ENOMEM
;
}
if
(
tmp_buf
)
if
(
tmp_buf
)
free_page
(
page
);
free_page
(
page
);
else
else
...
@@ -912,7 +902,6 @@ static int rs_open(struct tty_struct *tty, struct file * filp)
...
@@ -912,7 +902,6 @@ static int rs_open(struct tty_struct *tty, struct file * filp)
(
info
->
flags
&
ASYNC_CLOSING
))
{
(
info
->
flags
&
ASYNC_CLOSING
))
{
if
(
info
->
flags
&
ASYNC_CLOSING
)
if
(
info
->
flags
&
ASYNC_CLOSING
)
interruptible_sleep_on
(
&
info
->
close_wait
);
interruptible_sleep_on
(
&
info
->
close_wait
);
/* MOD_DEC_USE_COUNT; "info->tty" will cause this? */
#ifdef SERIAL_DO_RESTART
#ifdef SERIAL_DO_RESTART
return
((
info
->
flags
&
ASYNC_HUP_NOTIFY
)
?
return
((
info
->
flags
&
ASYNC_HUP_NOTIFY
)
?
-
EAGAIN
:
-
ERESTARTSYS
);
-
EAGAIN
:
-
ERESTARTSYS
);
...
@@ -926,7 +915,6 @@ static int rs_open(struct tty_struct *tty, struct file * filp)
...
@@ -926,7 +915,6 @@ static int rs_open(struct tty_struct *tty, struct file * filp)
*/
*/
retval
=
startup
(
info
);
retval
=
startup
(
info
);
if
(
retval
)
{
if
(
retval
)
{
/* MOD_DEC_USE_COUNT; "info->tty" will cause this? */
return
retval
;
return
retval
;
}
}
...
@@ -1042,6 +1030,7 @@ simrs_init (void)
...
@@ -1042,6 +1030,7 @@ simrs_init (void)
/* Initialize the tty_driver structure */
/* Initialize the tty_driver structure */
hp_simserial_driver
->
owner
=
THIS_MODULE
;
hp_simserial_driver
->
driver_name
=
"simserial"
;
hp_simserial_driver
->
driver_name
=
"simserial"
;
hp_simserial_driver
->
name
=
"ttyS"
;
hp_simserial_driver
->
name
=
"ttyS"
;
hp_simserial_driver
->
major
=
TTY_MAJOR
;
hp_simserial_driver
->
major
=
TTY_MAJOR
;
...
...
arch/ia64/kernel/head.S
View file @
c34d6311
...
@@ -816,7 +816,7 @@ GLOBAL_ENTRY(ia64_delay_loop)
...
@@ -816,7 +816,7 @@ GLOBAL_ENTRY(ia64_delay_loop)
br.ret.sptk.many
rp
br.ret.sptk.many
rp
END
(
ia64_delay_loop
)
END
(
ia64_delay_loop
)
GLOBAL_ENTRY
(
ia64_invoke_kernel_thread_helper
)
GLOBAL_ENTRY
(
start_kernel_thread
)
.
prologue
.
prologue
.
save
rp
,
r0
//
this
is
the
end
of
the
call
-
chain
.
save
rp
,
r0
//
this
is
the
end
of
the
call
-
chain
.
body
.
body
...
@@ -827,7 +827,7 @@ GLOBAL_ENTRY(ia64_invoke_kernel_thread_helper)
...
@@ -827,7 +827,7 @@ GLOBAL_ENTRY(ia64_invoke_kernel_thread_helper)
mov
out0
=
r8
mov
out0
=
r8
br.call.sptk.many
rp
=
sys_exit
;;
br.call.sptk.many
rp
=
sys_exit
;;
1
:
br.sptk.few
1
b
//
not
reached
1
:
br.sptk.few
1
b
//
not
reached
END
(
ia64_invoke_kernel_thread_helper
)
END
(
start_kernel_thread
)
#ifdef CONFIG_IA64_BRL_EMU
#ifdef CONFIG_IA64_BRL_EMU
...
...
arch/ia64/kernel/irq_ia64.c
View file @
c34d6311
...
@@ -57,6 +57,21 @@ __u8 isa_irq_to_vector_map[16] = {
...
@@ -57,6 +57,21 @@ __u8 isa_irq_to_vector_map[16] = {
};
};
EXPORT_SYMBOL
(
isa_irq_to_vector_map
);
EXPORT_SYMBOL
(
isa_irq_to_vector_map
);
static
inline
void
irq_enter
(
void
)
{
preempt_count
()
+=
HARDIRQ_OFFSET
;
}
static
inline
void
irq_exit
(
void
)
{
preempt_count
()
-=
IRQ_EXIT_OFFSET
;
if
(
!
in_interrupt
()
&&
local_softirq_pending
())
do_softirq
();
preempt_enable_no_resched
();
}
int
int
ia64_alloc_vector
(
void
)
ia64_alloc_vector
(
void
)
{
{
...
...
arch/ia64/kernel/mca.c
View file @
c34d6311
...
@@ -103,8 +103,6 @@ extern void ia64_slave_init_handler (void);
...
@@ -103,8 +103,6 @@ extern void ia64_slave_init_handler (void);
static
ia64_mc_info_t
ia64_mc_info
;
static
ia64_mc_info_t
ia64_mc_info
;
extern
struct
hw_interrupt_type
irq_type_iosapic_level
;
struct
ia64_mca_tlb_info
ia64_mca_tlb_list
[
NR_CPUS
];
struct
ia64_mca_tlb_info
ia64_mca_tlb_list
[
NR_CPUS
];
#define MAX_CPE_POLL_INTERVAL (15*60*HZ)
/* 15 minutes */
#define MAX_CPE_POLL_INTERVAL (15*60*HZ)
/* 15 minutes */
...
@@ -1253,7 +1251,6 @@ ia64_mca_init(void)
...
@@ -1253,7 +1251,6 @@ ia64_mca_init(void)
if
(
irq_to_vector
(
irq
)
==
cpev
)
{
if
(
irq_to_vector
(
irq
)
==
cpev
)
{
desc
=
irq_descp
(
irq
);
desc
=
irq_descp
(
irq
);
desc
->
status
|=
IRQ_PER_CPU
;
desc
->
status
|=
IRQ_PER_CPU
;
desc
->
handler
=
&
irq_type_iosapic_level
;
setup_irq
(
irq
,
&
mca_cpe_irqaction
);
setup_irq
(
irq
,
&
mca_cpe_irqaction
);
}
}
ia64_mca_register_cpev
(
cpev
);
ia64_mca_register_cpev
(
cpev
);
...
...
arch/ia64/kernel/process.c
View file @
c34d6311
...
@@ -574,8 +574,8 @@ ia64_set_personality (struct elf64_hdr *elf_ex, int ibcs2_interpreter)
...
@@ -574,8 +574,8 @@ ia64_set_personality (struct elf64_hdr *elf_ex, int ibcs2_interpreter)
pid_t
pid_t
kernel_thread
(
int
(
*
fn
)(
void
*
),
void
*
arg
,
unsigned
long
flags
)
kernel_thread
(
int
(
*
fn
)(
void
*
),
void
*
arg
,
unsigned
long
flags
)
{
{
extern
void
ia64_invoke_kernel_thread_helper
(
void
);
extern
void
start_kernel_thread
(
void
);
unsigned
long
*
helper_fptr
=
(
unsigned
long
*
)
&
ia64_invoke_kernel_thread_helper
;
unsigned
long
*
helper_fptr
=
(
unsigned
long
*
)
&
start_kernel_thread
;
struct
{
struct
{
struct
switch_stack
sw
;
struct
switch_stack
sw
;
struct
pt_regs
pt
;
struct
pt_regs
pt
;
...
...
arch/ia64/kernel/sal.c
View file @
c34d6311
...
@@ -10,7 +10,6 @@
...
@@ -10,7 +10,6 @@
#include <linux/kernel.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/init.h>
#include <linux/smp.h>
#include <linux/spinlock.h>
#include <linux/spinlock.h>
#include <linux/string.h>
#include <linux/string.h>
...
@@ -21,6 +20,12 @@
...
@@ -21,6 +20,12 @@
spinlock_t
sal_lock
__cacheline_aligned
=
SPIN_LOCK_UNLOCKED
;
spinlock_t
sal_lock
__cacheline_aligned
=
SPIN_LOCK_UNLOCKED
;
unsigned
long
sal_platform_features
;
unsigned
long
sal_platform_features
;
unsigned
short
sal_revision
;
unsigned
short
sal_version
;
#define SAL_MAJOR(x) ((x) >> 8)
#define SAL_MINOR(x) ((x) & 0xff)
static
struct
{
static
struct
{
void
*
addr
;
/* function entry point */
void
*
addr
;
/* function entry point */
void
*
gpval
;
/* gp value to use */
void
*
gpval
;
/* gp value to use */
...
@@ -86,13 +91,98 @@ ia64_sal_handler_init (void *entry_point, void *gpval)
...
@@ -86,13 +91,98 @@ ia64_sal_handler_init (void *entry_point, void *gpval)
ia64_sal
=
(
ia64_sal_handler
)
&
pdesc
;
ia64_sal
=
(
ia64_sal_handler
)
&
pdesc
;
}
}
static
void
__init
check_versions
(
struct
ia64_sal_systab
*
systab
)
{
sal_revision
=
(
systab
->
sal_rev_major
<<
8
)
|
systab
->
sal_rev_minor
;
sal_version
=
(
systab
->
sal_b_rev_major
<<
8
)
|
systab
->
sal_b_rev_minor
;
/* Check for broken firmware */
if
((
sal_revision
==
SAL_VERSION_CODE
(
49
,
29
))
&&
(
sal_version
==
SAL_VERSION_CODE
(
49
,
29
)))
{
/*
* Old firmware for zx2000 prototypes have this weird version number,
* reset it to something sane.
*/
sal_revision
=
SAL_VERSION_CODE
(
2
,
8
);
sal_version
=
SAL_VERSION_CODE
(
0
,
0
);
}
}
static
void
__init
sal_desc_entry_point
(
void
*
p
)
{
struct
ia64_sal_desc_entry_point
*
ep
=
p
;
ia64_pal_handler_init
(
__va
(
ep
->
pal_proc
));
ia64_sal_handler_init
(
__va
(
ep
->
sal_proc
),
__va
(
ep
->
gp
));
}
#ifdef CONFIG_SMP
static
void
__init
set_smp_redirect
(
int
flag
)
{
if
(
no_int_routing
)
smp_int_redirect
&=
~
flag
;
else
smp_int_redirect
|=
flag
;
}
#else
#define set_smp_redirect(flag) do { } while (0)
#endif
static
void
__init
sal_desc_platform_feature
(
void
*
p
)
{
struct
ia64_sal_desc_platform_feature
*
pf
=
p
;
sal_platform_features
=
pf
->
feature_mask
;
printk
(
KERN_INFO
"SAL Platform features:"
);
if
(
!
sal_platform_features
)
{
printk
(
" None
\n
"
);
return
;
}
if
(
sal_platform_features
&
IA64_SAL_PLATFORM_FEATURE_BUS_LOCK
)
printk
(
" BusLock"
);
if
(
sal_platform_features
&
IA64_SAL_PLATFORM_FEATURE_IRQ_REDIR_HINT
)
{
printk
(
" IRQ_Redirection"
);
set_smp_redirect
(
SMP_IRQ_REDIRECTION
);
}
if
(
sal_platform_features
&
IA64_SAL_PLATFORM_FEATURE_IPI_REDIR_HINT
)
{
printk
(
" IPI_Redirection"
);
set_smp_redirect
(
SMP_IPI_REDIRECTION
);
}
if
(
sal_platform_features
&
IA64_SAL_PLATFORM_FEATURE_ITC_DRIFT
)
printk
(
" ITC_Drift"
);
printk
(
"
\n
"
);
}
#ifdef CONFIG_SMP
static
void
__init
sal_desc_ap_wakeup
(
void
*
p
)
{
struct
ia64_sal_desc_ap_wakeup
*
ap
=
p
;
switch
(
ap
->
mechanism
)
{
case
IA64_SAL_AP_EXTERNAL_INT
:
ap_wakeup_vector
=
ap
->
vector
;
printk
(
KERN_INFO
"SAL: AP wakeup using external interrupt "
"vector 0x%lx
\n
"
,
ap_wakeup_vector
);
break
;
default:
printk
(
KERN_ERR
"SAL: AP wakeup mechanism unsupported!
\n
"
);
break
;
}
}
#else
static
void
__init
sal_desc_ap_wakeup
(
void
*
p
)
{
}
#endif
void
__init
void
__init
ia64_sal_init
(
struct
ia64_sal_systab
*
systab
)
ia64_sal_init
(
struct
ia64_sal_systab
*
systab
)
{
{
unsigned
long
min
,
max
;
char
*
p
;
char
*
p
;
struct
ia64_sal_desc_entry_point
*
ep
;
int
i
;
int
i
;
if
(
!
systab
)
{
if
(
!
systab
)
{
...
@@ -103,85 +193,34 @@ ia64_sal_init (struct ia64_sal_systab *systab)
...
@@ -103,85 +193,34 @@ ia64_sal_init (struct ia64_sal_systab *systab)
if
(
strncmp
(
systab
->
signature
,
"SST_"
,
4
)
!=
0
)
if
(
strncmp
(
systab
->
signature
,
"SST_"
,
4
)
!=
0
)
printk
(
KERN_ERR
"bad signature in system table!"
);
printk
(
KERN_ERR
"bad signature in system table!"
);
/*
check_versions
(
systab
);
* revisions are coded in BCD, so %x does the job for us
*/
printk
(
KERN_INFO
"SAL v%x.%x: oem=%.32s, product=%.32s
\n
"
,
systab
->
sal_rev_major
,
systab
->
sal_rev_minor
,
systab
->
oem_id
,
systab
->
product_id
);
min
=
~
0UL
;
/* revisions are coded in BCD, so %x does the job for us */
max
=
0
;
printk
(
KERN_INFO
"SAL %x.%x: %.32s %.32s%sversion %x.%x
\n
"
,
SAL_MAJOR
(
sal_revision
),
SAL_MINOR
(
sal_revision
),
systab
->
oem_id
,
systab
->
product_id
,
systab
->
product_id
[
0
]
?
" "
:
""
,
SAL_MAJOR
(
sal_version
),
SAL_MINOR
(
sal_version
));
p
=
(
char
*
)
(
systab
+
1
);
p
=
(
char
*
)
(
systab
+
1
);
for
(
i
=
0
;
i
<
systab
->
entry_count
;
i
++
)
{
for
(
i
=
0
;
i
<
systab
->
entry_count
;
i
++
)
{
/*
/*
* The first byte of each entry type contains the type descriptor.
* The first byte of each entry type contains the type
* descriptor.
*/
*/
switch
(
*
p
)
{
switch
(
*
p
)
{
case
SAL_DESC_ENTRY_POINT
:
case
SAL_DESC_ENTRY_POINT
:
ep
=
(
struct
ia64_sal_desc_entry_point
*
)
p
;
sal_desc_entry_point
(
p
);
printk
(
KERN_INFO
"SAL: entry: pal_proc=0x%lx, sal_proc=0x%lx
\n
"
,
ep
->
pal_proc
,
ep
->
sal_proc
);
ia64_pal_handler_init
(
__va
(
ep
->
pal_proc
));
ia64_sal_handler_init
(
__va
(
ep
->
sal_proc
),
__va
(
ep
->
gp
));
break
;
break
;
case
SAL_DESC_PLATFORM_FEATURE
:
case
SAL_DESC_PTC
:
sal_desc_platform_feature
(
p
);
break
;
case
SAL_DESC_PTC
:
ia64_ptc_domain_info
=
(
ia64_sal_desc_ptc_t
*
)
p
;
ia64_ptc_domain_info
=
(
ia64_sal_desc_ptc_t
*
)
p
;
break
;
break
;
case
SAL_DESC_AP_WAKEUP
:
case
SAL_DESC_AP_WAKEUP
:
sal_desc_ap_wakeup
(
p
);
#ifdef CONFIG_SMP
break
;
{
struct
ia64_sal_desc_ap_wakeup
*
ap
=
(
void
*
)
p
;
switch
(
ap
->
mechanism
)
{
case
IA64_SAL_AP_EXTERNAL_INT
:
ap_wakeup_vector
=
ap
->
vector
;
printk
(
KERN_INFO
"SAL: AP wakeup using external interrupt "
"vector 0x%lx
\n
"
,
ap_wakeup_vector
);
break
;
default:
printk
(
KERN_ERR
"SAL: AP wakeup mechanism unsupported!
\n
"
);
break
;
}
break
;
}
#endif
case
SAL_DESC_PLATFORM_FEATURE
:
{
struct
ia64_sal_desc_platform_feature
*
pf
=
(
void
*
)
p
;
sal_platform_features
=
pf
->
feature_mask
;
printk
(
KERN_INFO
"SAL: Platform features "
);
if
(
pf
->
feature_mask
&
IA64_SAL_PLATFORM_FEATURE_BUS_LOCK
)
printk
(
"BusLock "
);
if
(
pf
->
feature_mask
&
IA64_SAL_PLATFORM_FEATURE_IRQ_REDIR_HINT
)
{
printk
(
"IRQ_Redirection "
);
#ifdef CONFIG_SMP
if
(
no_int_routing
)
smp_int_redirect
&=
~
SMP_IRQ_REDIRECTION
;
else
smp_int_redirect
|=
SMP_IRQ_REDIRECTION
;
#endif
}
if
(
pf
->
feature_mask
&
IA64_SAL_PLATFORM_FEATURE_IPI_REDIR_HINT
)
{
printk
(
"IPI_Redirection "
);
#ifdef CONFIG_SMP
if
(
no_int_routing
)
smp_int_redirect
&=
~
SMP_IPI_REDIRECTION
;
else
smp_int_redirect
|=
SMP_IPI_REDIRECTION
;
#endif
}
if
(
pf
->
feature_mask
&
IA64_SAL_PLATFORM_FEATURE_ITC_DRIFT
)
printk
(
"ITC_Drift "
);
printk
(
"
\n
"
);
break
;
}
}
}
p
+=
SAL_DESC_SIZE
(
*
p
);
p
+=
SAL_DESC_SIZE
(
*
p
);
}
}
...
...
arch/ia64/pci/pci.c
View file @
c34d6311
...
@@ -57,17 +57,16 @@ struct pci_fixup pcibios_fixups[1];
...
@@ -57,17 +57,16 @@ struct pci_fixup pcibios_fixups[1];
((u64)(seg << 24) | (u64)(bus << 16) | \
((u64)(seg << 24) | (u64)(bus << 16) | \
(u64)(devfn << 8) | (u64)(reg))
(u64)(devfn << 8) | (u64)(reg))
static
int
static
int
pci_sal_read
(
int
seg
,
int
bus
,
int
devfn
,
int
reg
,
int
len
,
u32
*
value
)
pci_sal_read
(
int
seg
,
int
bus
,
int
devfn
,
int
reg
,
int
len
,
u32
*
value
)
{
{
int
result
=
0
;
int
result
=
0
;
u64
data
=
0
;
u64
data
=
0
;
if
(
!
value
||
(
seg
>
255
)
||
(
bus
>
255
)
||
(
devfn
>
255
)
||
(
reg
>
255
))
if
((
seg
>
255
)
||
(
bus
>
255
)
||
(
devfn
>
255
)
||
(
reg
>
255
))
return
-
EINVAL
;
return
-
EINVAL
;
result
=
ia64_sal_pci_config_read
(
PCI_SAL_ADDRESS
(
seg
,
bus
,
devfn
,
reg
),
len
,
&
data
);
result
=
ia64_sal_pci_config_read
(
PCI_SAL_ADDRESS
(
seg
,
bus
,
devfn
,
reg
),
0
,
len
,
&
data
);
*
value
=
(
u32
)
data
;
*
value
=
(
u32
)
data
;
...
@@ -80,15 +79,62 @@ pci_sal_write (int seg, int bus, int devfn, int reg, int len, u32 value)
...
@@ -80,15 +79,62 @@ pci_sal_write (int seg, int bus, int devfn, int reg, int len, u32 value)
if
((
seg
>
255
)
||
(
bus
>
255
)
||
(
devfn
>
255
)
||
(
reg
>
255
))
if
((
seg
>
255
)
||
(
bus
>
255
)
||
(
devfn
>
255
)
||
(
reg
>
255
))
return
-
EINVAL
;
return
-
EINVAL
;
return
ia64_sal_pci_config_write
(
PCI_SAL_ADDRESS
(
seg
,
bus
,
devfn
,
reg
),
len
,
value
);
return
ia64_sal_pci_config_write
(
PCI_SAL_ADDRESS
(
seg
,
bus
,
devfn
,
reg
),
0
,
len
,
value
);
}
}
struct
pci_raw_ops
pci_sal_ops
=
{
st
atic
st
ruct
pci_raw_ops
pci_sal_ops
=
{
.
read
=
pci_sal_read
,
.
read
=
pci_sal_read
,
.
write
=
pci_sal_write
.
write
=
pci_sal_write
};
};
struct
pci_raw_ops
*
raw_pci_ops
=
&
pci_sal_ops
;
/* default to SAL */
/* SAL 3.2 adds support for extended config space. */
#define PCI_SAL_EXT_ADDRESS(seg, bus, devfn, reg) \
((u64)(seg << 28) | (u64)(bus << 20) | \
(u64)(devfn << 12) | (u64)(reg))
static
int
pci_sal_ext_read
(
int
seg
,
int
bus
,
int
devfn
,
int
reg
,
int
len
,
u32
*
value
)
{
int
result
=
0
;
u64
data
=
0
;
if
((
seg
>
65535
)
||
(
bus
>
255
)
||
(
devfn
>
255
)
||
(
reg
>
4095
))
return
-
EINVAL
;
result
=
ia64_sal_pci_config_read
(
PCI_SAL_EXT_ADDRESS
(
seg
,
bus
,
devfn
,
reg
),
1
,
len
,
&
data
);
*
value
=
(
u32
)
data
;
return
result
;
}
static
int
pci_sal_ext_write
(
int
seg
,
int
bus
,
int
devfn
,
int
reg
,
int
len
,
u32
value
)
{
if
((
seg
>
65535
)
||
(
bus
>
255
)
||
(
devfn
>
255
)
||
(
reg
>
4095
))
return
-
EINVAL
;
return
ia64_sal_pci_config_write
(
PCI_SAL_EXT_ADDRESS
(
seg
,
bus
,
devfn
,
reg
),
1
,
len
,
value
);
}
static
struct
pci_raw_ops
pci_sal_ext_ops
=
{
.
read
=
pci_sal_ext_read
,
.
write
=
pci_sal_ext_write
};
struct
pci_raw_ops
*
raw_pci_ops
=
&
pci_sal_ops
;
/* default to SAL < 3.2 */
static
int
__init
pci_set_sal_ops
(
void
)
{
if
(
sal_version
>=
SAL_VERSION_CODE
(
3
,
2
))
{
raw_pci_ops
=
&
pci_sal_ext_ops
;
}
return
0
;
}
arch_initcall
(
pci_set_sal_ops
);
static
int
static
int
...
@@ -139,7 +185,8 @@ alloc_pci_controller (int seg)
...
@@ -139,7 +185,8 @@ alloc_pci_controller (int seg)
}
}
static
int
__devinit
static
int
__devinit
alloc_resource
(
char
*
name
,
struct
resource
*
root
,
unsigned
long
start
,
unsigned
long
end
,
unsigned
long
flags
)
alloc_resource
(
char
*
name
,
struct
resource
*
root
,
unsigned
long
start
,
unsigned
long
end
,
unsigned
long
flags
)
{
{
struct
resource
*
res
;
struct
resource
*
res
;
...
...
drivers/char/sn_serial.c
View file @
c34d6311
...
@@ -952,6 +952,7 @@ static void
...
@@ -952,6 +952,7 @@ static void
sn_sal_console_write
(
struct
console
*
co
,
const
char
*
s
,
unsigned
count
)
sn_sal_console_write
(
struct
console
*
co
,
const
char
*
s
,
unsigned
count
)
{
{
unsigned
long
flags
;
unsigned
long
flags
;
const
char
*
s1
;
BUG_ON
(
!
sn_sal_is_asynch
);
BUG_ON
(
!
sn_sal_is_asynch
);
...
@@ -959,15 +960,36 @@ sn_sal_console_write(struct console *co, const char *s, unsigned count)
...
@@ -959,15 +960,36 @@ sn_sal_console_write(struct console *co, const char *s, unsigned count)
* oops, kdb, panic, etc. make sure they get it. */
* oops, kdb, panic, etc. make sure they get it. */
if
(
spin_is_locked
(
&
sn_sal_lock
))
{
if
(
spin_is_locked
(
&
sn_sal_lock
))
{
synch_flush_xmit
();
synch_flush_xmit
();
/* Output '\r' before each '\n' */
while
((
s1
=
memchr
(
s
,
'\n'
,
count
))
!=
NULL
)
{
sn_func
->
sal_puts
(
s
,
s1
-
s
);
sn_func
->
sal_puts
(
"
\r\n
"
,
2
);
count
-=
s1
+
1
-
s
;
s
=
s1
+
1
;
}
sn_func
->
sal_puts
(
s
,
count
);
sn_func
->
sal_puts
(
s
,
count
);
}
}
else
if
(
in_interrupt
())
{
else
if
(
in_interrupt
())
{
spin_lock_irqsave
(
&
sn_sal_lock
,
flags
);
spin_lock_irqsave
(
&
sn_sal_lock
,
flags
);
synch_flush_xmit
();
synch_flush_xmit
();
spin_unlock_irqrestore
(
&
sn_sal_lock
,
flags
);
spin_unlock_irqrestore
(
&
sn_sal_lock
,
flags
);
/* Output '\r' before each '\n' */
while
((
s1
=
memchr
(
s
,
'\n'
,
count
))
!=
NULL
)
{
sn_func
->
sal_puts
(
s
,
s1
-
s
);
sn_func
->
sal_puts
(
"
\r\n
"
,
2
);
count
-=
s1
+
1
-
s
;
s
=
s1
+
1
;
}
sn_func
->
sal_puts
(
s
,
count
);
sn_func
->
sal_puts
(
s
,
count
);
}
}
else
else
/* Output '\r' before each '\n' */
while
((
s1
=
memchr
(
s
,
'\n'
,
count
))
!=
NULL
)
{
sn_sal_write
(
NULL
,
0
,
s
,
s1
-
s
);
sn_sal_write
(
NULL
,
0
,
"
\r\n
"
,
2
);
count
-=
s1
+
1
-
s
;
s
=
s1
+
1
;
}
sn_sal_write
(
NULL
,
0
,
s
,
count
);
sn_sal_write
(
NULL
,
0
,
s
,
count
);
}
}
...
...
include/asm-ia64/hardirq.h
View file @
c34d6311
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
#define _ASM_IA64_HARDIRQ_H
#define _ASM_IA64_HARDIRQ_H
/*
/*
*
Copyright (C) 1998-2002
Hewlett-Packard Co
*
Modified 1998-2002, 2004
Hewlett-Packard Co
* David Mosberger-Tang <davidm@hpl.hp.com>
* David Mosberger-Tang <davidm@hpl.hp.com>
*/
*/
...
@@ -86,8 +86,6 @@
...
@@ -86,8 +86,6 @@
#define hardirq_trylock() (!in_interrupt())
#define hardirq_trylock() (!in_interrupt())
#define hardirq_endlock() do { } while (0)
#define hardirq_endlock() do { } while (0)
#define irq_enter() (preempt_count() += HARDIRQ_OFFSET)
#ifdef CONFIG_PREEMPT
#ifdef CONFIG_PREEMPT
# include <linux/smp_lock.h>
# include <linux/smp_lock.h>
# define in_atomic() ((preempt_count() & ~PREEMPT_ACTIVE) != kernel_locked())
# define in_atomic() ((preempt_count() & ~PREEMPT_ACTIVE) != kernel_locked())
...
@@ -97,14 +95,6 @@
...
@@ -97,14 +95,6 @@
# define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
# define IRQ_EXIT_OFFSET HARDIRQ_OFFSET
#endif
#endif
#define irq_exit() \
do { \
preempt_count() -= IRQ_EXIT_OFFSET; \
if (!in_interrupt() && local_softirq_pending()) \
do_softirq(); \
preempt_enable_no_resched(); \
} while (0)
#ifdef CONFIG_SMP
#ifdef CONFIG_SMP
extern
void
synchronize_irq
(
unsigned
int
irq
);
extern
void
synchronize_irq
(
unsigned
int
irq
);
#else
#else
...
...
include/asm-ia64/sal.h
View file @
c34d6311
...
@@ -35,6 +35,7 @@
...
@@ -35,6 +35,7 @@
#ifndef __ASSEMBLY__
#ifndef __ASSEMBLY__
#include <linux/bcd.h>
#include <linux/spinlock.h>
#include <linux/spinlock.h>
#include <linux/efi.h>
#include <linux/efi.h>
...
@@ -229,6 +230,10 @@ typedef struct ia64_sal_desc_ap_wakeup {
...
@@ -229,6 +230,10 @@ typedef struct ia64_sal_desc_ap_wakeup {
extern
ia64_sal_handler
ia64_sal
;
extern
ia64_sal_handler
ia64_sal
;
extern
struct
ia64_sal_desc_ptc
*
ia64_ptc_domain_info
;
extern
struct
ia64_sal_desc_ptc
*
ia64_ptc_domain_info
;
extern
unsigned
short
sal_revision
;
/* supported SAL spec revision */
extern
unsigned
short
sal_version
;
/* SAL version; OEM dependent */
#define SAL_VERSION_CODE(major, minor) ((BIN2BCD(major) << 8) | BIN2BCD(minor))
extern
const
char
*
ia64_sal_strerror
(
long
status
);
extern
const
char
*
ia64_sal_strerror
(
long
status
);
extern
void
ia64_sal_init
(
struct
ia64_sal_systab
*
sal_systab
);
extern
void
ia64_sal_init
(
struct
ia64_sal_systab
*
sal_systab
);
...
@@ -741,10 +746,10 @@ ia64_sal_mc_set_params (u64 param_type, u64 i_or_m, u64 i_or_m_val, u64 timeout,
...
@@ -741,10 +746,10 @@ ia64_sal_mc_set_params (u64 param_type, u64 i_or_m, u64 i_or_m_val, u64 timeout,
/* Read from PCI configuration space */
/* Read from PCI configuration space */
static
inline
s64
static
inline
s64
ia64_sal_pci_config_read
(
u64
pci_config_addr
,
u64
size
,
u64
*
value
)
ia64_sal_pci_config_read
(
u64
pci_config_addr
,
int
type
,
u64
size
,
u64
*
value
)
{
{
struct
ia64_sal_retval
isrv
;
struct
ia64_sal_retval
isrv
;
SAL_CALL
(
isrv
,
SAL_PCI_CONFIG_READ
,
pci_config_addr
,
size
,
0
,
0
,
0
,
0
,
0
);
SAL_CALL
(
isrv
,
SAL_PCI_CONFIG_READ
,
pci_config_addr
,
size
,
type
,
0
,
0
,
0
,
0
);
if
(
value
)
if
(
value
)
*
value
=
isrv
.
v0
;
*
value
=
isrv
.
v0
;
return
isrv
.
status
;
return
isrv
.
status
;
...
@@ -752,11 +757,11 @@ ia64_sal_pci_config_read (u64 pci_config_addr, u64 size, u64 *value)
...
@@ -752,11 +757,11 @@ ia64_sal_pci_config_read (u64 pci_config_addr, u64 size, u64 *value)
/* Write to PCI configuration space */
/* Write to PCI configuration space */
static
inline
s64
static
inline
s64
ia64_sal_pci_config_write
(
u64
pci_config_addr
,
u64
size
,
u64
value
)
ia64_sal_pci_config_write
(
u64
pci_config_addr
,
int
type
,
u64
size
,
u64
value
)
{
{
struct
ia64_sal_retval
isrv
;
struct
ia64_sal_retval
isrv
;
SAL_CALL
(
isrv
,
SAL_PCI_CONFIG_WRITE
,
pci_config_addr
,
size
,
value
,
SAL_CALL
(
isrv
,
SAL_PCI_CONFIG_WRITE
,
pci_config_addr
,
size
,
value
,
0
,
0
,
0
,
0
);
type
,
0
,
0
,
0
);
return
isrv
.
status
;
return
isrv
.
status
;
}
}
...
...
include/asm-ia64/sn/router.h
View file @
c34d6311
...
@@ -20,6 +20,7 @@
...
@@ -20,6 +20,7 @@
#include <asm/sn/vector.h>
#include <asm/sn/vector.h>
#include <asm/sn/slotnum.h>
#include <asm/sn/slotnum.h>
#include <asm/sn/arch.h>
#include <asm/sn/arch.h>
#include <asm/sn/sgi.h>
typedef
uint64_t
router_reg_t
;
typedef
uint64_t
router_reg_t
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment