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
nexedi
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