mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 16:29:59 +00:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc: Fix asm/signal.h for 32-bit. sparc: Eliminate PROMLIB_INTERNAL as it does nothing sparc: Kill exports of prom internal functions sparc64: move EXPORT_SYMBOL to the symbols definition sparc: move EXPORT_SYMBOL to the symbols definition sparc: Create a new file lib/ksyms.c and add export of all symbols defined in assembler in lib/ to this file. sparc: Most unaligned_64.c tweaks for branch tracer warnings. sparc: Fix sun4d_irq.c build. sparc: Update 32-bit defconfig. sparc64: fix warnings in psycho_common after ull conversion
This commit is contained in:
commit
54c266870c
42 changed files with 595 additions and 585 deletions
|
@ -1,15 +1,21 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.25
|
||||
# Tue Apr 29 01:28:58 2008
|
||||
# Linux kernel version: 2.6.28
|
||||
# Thu Jan 8 16:45:44 2009
|
||||
#
|
||||
# CONFIG_64BIT is not set
|
||||
CONFIG_SPARC=y
|
||||
CONFIG_SPARC32=y
|
||||
# CONFIG_SPARC64 is not set
|
||||
CONFIG_ARCH_DEFCONFIG="arch/sparc/configs/sparc32_defconfig"
|
||||
CONFIG_BITS=32
|
||||
CONFIG_AUDIT_ARCH=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_ZONE_DMA=y
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
CONFIG_ARCH_NO_VIRT_TO_BUS=y
|
||||
CONFIG_OF=y
|
||||
CONFIG_HZ=100
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
|
@ -66,31 +72,30 @@ CONFIG_SIGNALFD=y
|
|||
CONFIG_TIMERFD=y
|
||||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_AIO=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_PCI_QUIRKS=y
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_SLUB is not set
|
||||
# CONFIG_SLOB is not set
|
||||
# CONFIG_PROFILING is not set
|
||||
# CONFIG_MARKERS is not set
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
# CONFIG_HAVE_KPROBES is not set
|
||||
# CONFIG_HAVE_KRETPROBES is not set
|
||||
CONFIG_PROC_PAGE_MONITOR=y
|
||||
CONFIG_HAVE_ARCH_TRACEHOOK=y
|
||||
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
|
||||
CONFIG_SLABINFO=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_MODULE_FORCE_LOAD is not set
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_MODULE_FORCE_UNLOAD is not set
|
||||
# CONFIG_MODVERSIONS is not set
|
||||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||
CONFIG_KMOD=y
|
||||
CONFIG_BLOCK=y
|
||||
# CONFIG_LBD is not set
|
||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||
# CONFIG_LSF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_BLK_DEV_INTEGRITY is not set
|
||||
|
||||
#
|
||||
# IO Schedulers
|
||||
|
@ -105,59 +110,73 @@ CONFIG_DEFAULT_CFQ=y
|
|||
# CONFIG_DEFAULT_NOOP is not set
|
||||
CONFIG_DEFAULT_IOSCHED="cfq"
|
||||
CONFIG_CLASSIC_RCU=y
|
||||
# CONFIG_TREE_RCU is not set
|
||||
# CONFIG_PREEMPT_RCU is not set
|
||||
# CONFIG_TREE_RCU_TRACE is not set
|
||||
# CONFIG_PREEMPT_RCU_TRACE is not set
|
||||
# CONFIG_FREEZER is not set
|
||||
|
||||
#
|
||||
# General machine setup
|
||||
# Processor type and features
|
||||
#
|
||||
# CONFIG_SMP is not set
|
||||
CONFIG_SPARC=y
|
||||
CONFIG_SPARC32=y
|
||||
CONFIG_SBUS=y
|
||||
CONFIG_SBUSCHAR=y
|
||||
CONFIG_SERIAL_CONSOLE=y
|
||||
CONFIG_SUN_AUXIO=y
|
||||
CONFIG_SUN_IO=y
|
||||
# CONFIG_HZ_100 is not set
|
||||
CONFIG_HZ_250=y
|
||||
# CONFIG_HZ_300 is not set
|
||||
# CONFIG_HZ_1000 is not set
|
||||
CONFIG_HZ=250
|
||||
# CONFIG_SCHED_HRTICK is not set
|
||||
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
|
||||
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||
CONFIG_EMULATED_CMPXCHG=y
|
||||
CONFIG_SUN_PM=y
|
||||
# CONFIG_SUN4 is not set
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_SYSCALL=y
|
||||
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||
CONFIG_PCI_LEGACY=y
|
||||
# CONFIG_PCI_DEBUG is not set
|
||||
# CONFIG_NO_DMA is not set
|
||||
CONFIG_SUN_OPENPROMFS=m
|
||||
# CONFIG_SPARC_LED is not set
|
||||
CONFIG_BINFMT_ELF=y
|
||||
CONFIG_BINFMT_MISC=m
|
||||
CONFIG_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
# CONFIG_DISCONTIGMEM_MANUAL is not set
|
||||
# CONFIG_SPARSEMEM_MANUAL is not set
|
||||
CONFIG_FLATMEM=y
|
||||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
|
||||
CONFIG_PAGEFLAGS_EXTENDED=y
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
# CONFIG_PHYS_ADDR_T_64BIT is not set
|
||||
CONFIG_ZONE_DMA_FLAG=1
|
||||
CONFIG_BOUNCE=y
|
||||
CONFIG_UNEVICTABLE_LRU=y
|
||||
CONFIG_SUN_PM=y
|
||||
# CONFIG_SPARC_LED is not set
|
||||
CONFIG_SERIAL_CONSOLE=y
|
||||
|
||||
#
|
||||
# Networking
|
||||
# Bus options (PCI etc.)
|
||||
#
|
||||
CONFIG_SBUS=y
|
||||
CONFIG_SBUSCHAR=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_SYSCALL=y
|
||||
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||
CONFIG_PCI_LEGACY=y
|
||||
# CONFIG_PCI_DEBUG is not set
|
||||
# CONFIG_PCI_STUB is not set
|
||||
# CONFIG_PCCARD is not set
|
||||
CONFIG_SUN_OPENPROMFS=m
|
||||
CONFIG_SPARC32_PCI=y
|
||||
|
||||
#
|
||||
# Executable file formats
|
||||
#
|
||||
CONFIG_BINFMT_ELF=y
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
# CONFIG_HAVE_AOUT is not set
|
||||
CONFIG_BINFMT_MISC=m
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
# CONFIG_NET_NS is not set
|
||||
CONFIG_COMPAT_NET_DEV_OPS=y
|
||||
CONFIG_PACKET=y
|
||||
# CONFIG_PACKET_MMAP is not set
|
||||
CONFIG_UNIX=y
|
||||
|
@ -166,6 +185,7 @@ CONFIG_XFRM_USER=m
|
|||
# CONFIG_XFRM_SUB_POLICY is not set
|
||||
# CONFIG_XFRM_MIGRATE is not set
|
||||
# CONFIG_XFRM_STATISTICS is not set
|
||||
CONFIG_XFRM_IPCOMP=y
|
||||
CONFIG_NET_KEY=m
|
||||
# CONFIG_NET_KEY_MIGRATE is not set
|
||||
CONFIG_INET=y
|
||||
|
@ -221,6 +241,7 @@ CONFIG_IPV6_TUNNEL=m
|
|||
# CONFIG_TIPC is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
# CONFIG_NET_DSA is not set
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
# CONFIG_DECNET is not set
|
||||
# CONFIG_LLC2 is not set
|
||||
|
@ -231,6 +252,7 @@ CONFIG_IPV6_TUNNEL=m
|
|||
# CONFIG_ECONET is not set
|
||||
# CONFIG_WAN_ROUTER is not set
|
||||
# CONFIG_NET_SCHED is not set
|
||||
# CONFIG_DCB is not set
|
||||
|
||||
#
|
||||
# Network testing
|
||||
|
@ -241,14 +263,14 @@ CONFIG_NET_PKTGEN=m
|
|||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
|
||||
#
|
||||
# Wireless
|
||||
#
|
||||
# CONFIG_PHONET is not set
|
||||
CONFIG_WIRELESS=y
|
||||
# CONFIG_CFG80211 is not set
|
||||
CONFIG_WIRELESS_OLD_REGULATORY=y
|
||||
# CONFIG_WIRELESS_EXT is not set
|
||||
# CONFIG_LIB80211 is not set
|
||||
# CONFIG_MAC80211 is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
# CONFIG_WIMAX is not set
|
||||
# CONFIG_RFKILL is not set
|
||||
# CONFIG_NET_9P is not set
|
||||
|
||||
|
@ -262,7 +284,9 @@ CONFIG_NET_PKTGEN=m
|
|||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_STANDALONE=y
|
||||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
# CONFIG_FW_LOADER is not set
|
||||
CONFIG_FW_LOADER=y
|
||||
CONFIG_FIRMWARE_IN_KERNEL=y
|
||||
CONFIG_EXTRA_FIRMWARE=""
|
||||
# CONFIG_DEBUG_DRIVER is not set
|
||||
# CONFIG_DEBUG_DEVRES is not set
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
|
@ -286,12 +310,15 @@ CONFIG_BLK_DEV_RAM_SIZE=4096
|
|||
# CONFIG_BLK_DEV_XIP is not set
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
# CONFIG_BLK_DEV_HD is not set
|
||||
CONFIG_MISC_DEVICES=y
|
||||
# CONFIG_PHANTOM is not set
|
||||
# CONFIG_EEPROM_93CX6 is not set
|
||||
# CONFIG_SGI_IOC4 is not set
|
||||
# CONFIG_TIFM_CORE is not set
|
||||
# CONFIG_ENCLOSURE_SERVICES is not set
|
||||
# CONFIG_HP_ILO is not set
|
||||
# CONFIG_C2PORT is not set
|
||||
CONFIG_HAVE_IDE=y
|
||||
# CONFIG_IDE is not set
|
||||
|
||||
|
@ -335,6 +362,7 @@ CONFIG_SCSI_SPI_ATTRS=y
|
|||
# CONFIG_SCSI_SRP_ATTRS is not set
|
||||
CONFIG_SCSI_LOWLEVEL=y
|
||||
# CONFIG_ISCSI_TCP is not set
|
||||
# CONFIG_SCSI_CXGB3_ISCSI is not set
|
||||
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
|
||||
# CONFIG_SCSI_3W_9XXX is not set
|
||||
# CONFIG_SCSI_ACARD is not set
|
||||
|
@ -348,6 +376,8 @@ CONFIG_SCSI_LOWLEVEL=y
|
|||
# CONFIG_MEGARAID_LEGACY is not set
|
||||
# CONFIG_MEGARAID_SAS is not set
|
||||
# CONFIG_SCSI_HPTIOP is not set
|
||||
# CONFIG_LIBFC is not set
|
||||
# CONFIG_FCOE is not set
|
||||
# CONFIG_SCSI_DMX3191D is not set
|
||||
# CONFIG_SCSI_FUTURE_DOMAIN is not set
|
||||
# CONFIG_SCSI_IPS is not set
|
||||
|
@ -367,6 +397,7 @@ CONFIG_SCSI_QLOGICPTI=m
|
|||
# CONFIG_SCSI_DEBUG is not set
|
||||
CONFIG_SCSI_SUNESP=y
|
||||
# CONFIG_SCSI_SRP is not set
|
||||
# CONFIG_SCSI_DH is not set
|
||||
# CONFIG_ATA is not set
|
||||
# CONFIG_MD is not set
|
||||
# CONFIG_FUSION is not set
|
||||
|
@ -374,11 +405,14 @@ CONFIG_SCSI_SUNESP=y
|
|||
#
|
||||
# IEEE 1394 (FireWire) support
|
||||
#
|
||||
|
||||
#
|
||||
# Enable only one of the two stacks, unless you know what you are doing
|
||||
#
|
||||
# CONFIG_FIREWIRE is not set
|
||||
# CONFIG_IEEE1394 is not set
|
||||
# CONFIG_I2O is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
# CONFIG_NETDEVICES_MULTIQUEUE is not set
|
||||
CONFIG_DUMMY=m
|
||||
# CONFIG_BONDING is not set
|
||||
# CONFIG_MACVLAN is not set
|
||||
|
@ -402,14 +436,16 @@ CONFIG_SUNQE=m
|
|||
# CONFIG_IBM_NEW_EMAC_RGMII is not set
|
||||
# CONFIG_IBM_NEW_EMAC_TAH is not set
|
||||
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
|
||||
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
|
||||
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
|
||||
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
|
||||
# CONFIG_NET_PCI is not set
|
||||
# CONFIG_B44 is not set
|
||||
# CONFIG_ATL2 is not set
|
||||
CONFIG_NETDEV_1000=y
|
||||
# CONFIG_ACENIC is not set
|
||||
# CONFIG_DL2K is not set
|
||||
# CONFIG_E1000 is not set
|
||||
# CONFIG_E1000E is not set
|
||||
# CONFIG_E1000E_ENABLED is not set
|
||||
# CONFIG_IP1000 is not set
|
||||
# CONFIG_IGB is not set
|
||||
# CONFIG_MYRI_SBUS is not set
|
||||
|
@ -425,18 +461,25 @@ CONFIG_NETDEV_1000=y
|
|||
# CONFIG_BNX2 is not set
|
||||
# CONFIG_QLA3XXX is not set
|
||||
# CONFIG_ATL1 is not set
|
||||
# CONFIG_ATL1E is not set
|
||||
# CONFIG_JME is not set
|
||||
CONFIG_NETDEV_10000=y
|
||||
# CONFIG_CHELSIO_T1 is not set
|
||||
CONFIG_CHELSIO_T3_DEPENDS=y
|
||||
# CONFIG_CHELSIO_T3 is not set
|
||||
# CONFIG_ENIC is not set
|
||||
# CONFIG_IXGBE is not set
|
||||
# CONFIG_IXGB is not set
|
||||
# CONFIG_S2IO is not set
|
||||
# CONFIG_MYRI10GE is not set
|
||||
# CONFIG_NETXEN_NIC is not set
|
||||
# CONFIG_NIU is not set
|
||||
# CONFIG_MLX4_EN is not set
|
||||
# CONFIG_MLX4_CORE is not set
|
||||
# CONFIG_TEHUTI is not set
|
||||
# CONFIG_BNX2X is not set
|
||||
# CONFIG_QLGE is not set
|
||||
# CONFIG_SFC is not set
|
||||
# CONFIG_TR is not set
|
||||
|
||||
#
|
||||
|
@ -445,6 +488,10 @@ CONFIG_NETDEV_10000=y
|
|||
# CONFIG_WLAN_PRE80211 is not set
|
||||
# CONFIG_WLAN_80211 is not set
|
||||
# CONFIG_IWLWIFI_LEDS is not set
|
||||
|
||||
#
|
||||
# Enable WiMAX (Networking options) to see the WiMAX drivers
|
||||
#
|
||||
# CONFIG_WAN is not set
|
||||
# CONFIG_FDDI is not set
|
||||
# CONFIG_HIPPI is not set
|
||||
|
@ -492,9 +539,11 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y
|
|||
CONFIG_MOUSE_PS2_SYNAPTICS=y
|
||||
CONFIG_MOUSE_PS2_LIFEBOOK=y
|
||||
CONFIG_MOUSE_PS2_TRACKPOINT=y
|
||||
# CONFIG_MOUSE_PS2_ELANTECH is not set
|
||||
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
|
||||
CONFIG_MOUSE_SERIAL=m
|
||||
# CONFIG_MOUSE_APPLETOUCH is not set
|
||||
# CONFIG_MOUSE_BCM5974 is not set
|
||||
# CONFIG_MOUSE_VSXXXAA is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_TABLET is not set
|
||||
|
@ -516,15 +565,18 @@ CONFIG_SERIO_LIBPS2=m
|
|||
# Character devices
|
||||
#
|
||||
CONFIG_VT=y
|
||||
CONFIG_CONSOLE_TRANSLATIONS=y
|
||||
CONFIG_VT_CONSOLE=y
|
||||
CONFIG_HW_CONSOLE=y
|
||||
# CONFIG_VT_HW_CONSOLE_BINDING is not set
|
||||
CONFIG_DEVKMEM=y
|
||||
# CONFIG_SERIAL_NONSTANDARD is not set
|
||||
# CONFIG_NOZOMI is not set
|
||||
|
||||
#
|
||||
# Serial drivers
|
||||
#
|
||||
# CONFIG_SERIAL_8250 is not set
|
||||
|
||||
#
|
||||
# Non-8250 serial port support
|
||||
|
@ -540,23 +592,20 @@ CONFIG_SERIAL_CORE_CONSOLE=y
|
|||
CONFIG_CONSOLE_POLL=y
|
||||
# CONFIG_SERIAL_JSM is not set
|
||||
CONFIG_UNIX98_PTYS=y
|
||||
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
|
||||
CONFIG_LEGACY_PTYS=y
|
||||
CONFIG_LEGACY_PTY_COUNT=256
|
||||
# CONFIG_IPMI_HANDLER is not set
|
||||
CONFIG_HW_RANDOM=m
|
||||
CONFIG_JS_RTC=m
|
||||
# CONFIG_R3964 is not set
|
||||
# CONFIG_APPLICOM is not set
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
# CONFIG_TCG_TPM is not set
|
||||
CONFIG_DEVPORT=y
|
||||
# CONFIG_I2C is not set
|
||||
|
||||
#
|
||||
# SPI support
|
||||
#
|
||||
# CONFIG_SPI is not set
|
||||
# CONFIG_SPI_MASTER is not set
|
||||
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
|
||||
# CONFIG_GPIOLIB is not set
|
||||
# CONFIG_W1 is not set
|
||||
# CONFIG_POWER_SUPPLY is not set
|
||||
CONFIG_HWMON=y
|
||||
|
@ -577,25 +626,38 @@ CONFIG_HWMON=y
|
|||
# CONFIG_SENSORS_W83627EHF is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
# CONFIG_THERMAL is not set
|
||||
# CONFIG_THERMAL_HWMON is not set
|
||||
# CONFIG_WATCHDOG is not set
|
||||
CONFIG_SSB_POSSIBLE=y
|
||||
|
||||
#
|
||||
# Sonics Silicon Backplane
|
||||
#
|
||||
CONFIG_SSB_POSSIBLE=y
|
||||
# CONFIG_SSB is not set
|
||||
|
||||
#
|
||||
# Multifunction device drivers
|
||||
#
|
||||
# CONFIG_MFD_CORE is not set
|
||||
# CONFIG_MFD_SM501 is not set
|
||||
# CONFIG_HTC_PASIC3 is not set
|
||||
# CONFIG_MFD_TMIO is not set
|
||||
# CONFIG_REGULATOR is not set
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
#
|
||||
|
||||
#
|
||||
# Multimedia core support
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
# CONFIG_DVB_CORE is not set
|
||||
# CONFIG_VIDEO_MEDIA is not set
|
||||
|
||||
#
|
||||
# Multimedia drivers
|
||||
#
|
||||
# CONFIG_DAB is not set
|
||||
|
||||
#
|
||||
|
@ -616,15 +678,17 @@ CONFIG_SSB_POSSIBLE=y
|
|||
#
|
||||
# CONFIG_PROM_CONSOLE is not set
|
||||
CONFIG_DUMMY_CONSOLE=y
|
||||
|
||||
#
|
||||
# Sound
|
||||
#
|
||||
# CONFIG_SOUND is not set
|
||||
CONFIG_HID_SUPPORT=y
|
||||
CONFIG_HID=y
|
||||
# CONFIG_HID_DEBUG is not set
|
||||
# CONFIG_HIDRAW is not set
|
||||
# CONFIG_HID_PID is not set
|
||||
|
||||
#
|
||||
# Special HID drivers
|
||||
#
|
||||
CONFIG_HID_COMPAT=y
|
||||
CONFIG_USB_SUPPORT=y
|
||||
CONFIG_USB_ARCH_HAS_HCD=y
|
||||
CONFIG_USB_ARCH_HAS_OHCI=y
|
||||
|
@ -632,31 +696,70 @@ CONFIG_USB_ARCH_HAS_EHCI=y
|
|||
# CONFIG_USB is not set
|
||||
|
||||
#
|
||||
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
|
||||
# Enable Host or Gadget support to see Inventra options
|
||||
#
|
||||
|
||||
#
|
||||
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
|
||||
#
|
||||
# CONFIG_USB_GADGET is not set
|
||||
|
||||
#
|
||||
# OTG and related infrastructure
|
||||
#
|
||||
# CONFIG_UWB is not set
|
||||
# CONFIG_MMC is not set
|
||||
# CONFIG_MEMSTICK is not set
|
||||
# CONFIG_NEW_LEDS is not set
|
||||
# CONFIG_ACCESSIBILITY is not set
|
||||
# CONFIG_INFINIBAND is not set
|
||||
# CONFIG_RTC_CLASS is not set
|
||||
CONFIG_RTC_LIB=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_HCTOSYS=y
|
||||
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
|
||||
# CONFIG_RTC_DEBUG is not set
|
||||
|
||||
#
|
||||
# RTC interfaces
|
||||
#
|
||||
CONFIG_RTC_INTF_SYSFS=y
|
||||
CONFIG_RTC_INTF_PROC=y
|
||||
CONFIG_RTC_INTF_DEV=y
|
||||
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
|
||||
# CONFIG_RTC_DRV_TEST is not set
|
||||
|
||||
#
|
||||
# SPI RTC drivers
|
||||
#
|
||||
|
||||
#
|
||||
# Platform RTC drivers
|
||||
#
|
||||
# CONFIG_RTC_DRV_DS1286 is not set
|
||||
# CONFIG_RTC_DRV_DS1511 is not set
|
||||
# CONFIG_RTC_DRV_DS1553 is not set
|
||||
# CONFIG_RTC_DRV_DS1742 is not set
|
||||
# CONFIG_RTC_DRV_STK17TA8 is not set
|
||||
# CONFIG_RTC_DRV_M48T86 is not set
|
||||
# CONFIG_RTC_DRV_M48T35 is not set
|
||||
CONFIG_RTC_DRV_M48T59=y
|
||||
# CONFIG_RTC_DRV_BQ4802 is not set
|
||||
# CONFIG_RTC_DRV_V3020 is not set
|
||||
|
||||
#
|
||||
# on-CPU RTC drivers
|
||||
#
|
||||
# CONFIG_DMADEVICES is not set
|
||||
# CONFIG_UIO is not set
|
||||
# CONFIG_STAGING is not set
|
||||
|
||||
#
|
||||
# Misc Linux/SPARC drivers
|
||||
#
|
||||
CONFIG_SUN_OPENPROMIO=m
|
||||
CONFIG_SUN_MOSTEK_RTC=m
|
||||
# CONFIG_SUN_BPP is not set
|
||||
# CONFIG_SUN_VIDEOPIX is not set
|
||||
# CONFIG_TADPOLE_TS102_UCTRL is not set
|
||||
# CONFIG_SUN_JSFLASH is not set
|
||||
|
||||
#
|
||||
# Unix98 PTY support
|
||||
#
|
||||
CONFIG_UNIX98_PTY_COUNT=256
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
|
@ -666,11 +769,12 @@ CONFIG_EXT2_FS_POSIX_ACL=y
|
|||
CONFIG_EXT2_FS_SECURITY=y
|
||||
# CONFIG_EXT2_FS_XIP is not set
|
||||
# CONFIG_EXT3_FS is not set
|
||||
# CONFIG_EXT4DEV_FS is not set
|
||||
# CONFIG_EXT4_FS is not set
|
||||
CONFIG_FS_MBCACHE=y
|
||||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
CONFIG_FS_POSIX_ACL=y
|
||||
CONFIG_FILE_LOCKING=y
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_OCFS2_FS is not set
|
||||
CONFIG_DNOTIFY=y
|
||||
|
@ -702,14 +806,12 @@ CONFIG_ISO9660_FS=m
|
|||
CONFIG_PROC_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_PROC_SYSCTL=y
|
||||
CONFIG_PROC_PAGE_MONITOR=y
|
||||
CONFIG_SYSFS=y
|
||||
# CONFIG_TMPFS is not set
|
||||
# CONFIG_HUGETLB_PAGE is not set
|
||||
# CONFIG_CONFIGFS_FS is not set
|
||||
|
||||
#
|
||||
# Miscellaneous filesystems
|
||||
#
|
||||
CONFIG_MISC_FILESYSTEMS=y
|
||||
# CONFIG_ADFS_FS is not set
|
||||
# CONFIG_AFFS_FS is not set
|
||||
# CONFIG_HFS_FS is not set
|
||||
|
@ -720,6 +822,7 @@ CONFIG_SYSFS=y
|
|||
# CONFIG_CRAMFS is not set
|
||||
# CONFIG_VXFS_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_OMFS_FS is not set
|
||||
# CONFIG_HPFS_FS is not set
|
||||
# CONFIG_QNX4FS_FS is not set
|
||||
CONFIG_ROMFS_FS=m
|
||||
|
@ -729,13 +832,13 @@ CONFIG_NETWORK_FILESYSTEMS=y
|
|||
CONFIG_NFS_FS=y
|
||||
# CONFIG_NFS_V3 is not set
|
||||
# CONFIG_NFS_V4 is not set
|
||||
# CONFIG_NFSD is not set
|
||||
CONFIG_ROOT_NFS=y
|
||||
# CONFIG_NFSD is not set
|
||||
CONFIG_LOCKD=y
|
||||
CONFIG_NFS_COMMON=y
|
||||
CONFIG_SUNRPC=y
|
||||
CONFIG_SUNRPC_GSS=m
|
||||
# CONFIG_SUNRPC_BIND34 is not set
|
||||
# CONFIG_SUNRPC_REGISTER_V4 is not set
|
||||
CONFIG_RPCSEC_GSS_KRB5=m
|
||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
# CONFIG_SMB_FS is not set
|
||||
|
@ -806,9 +909,12 @@ CONFIG_MAGIC_SYSRQ=y
|
|||
# CONFIG_HEADERS_CHECK is not set
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_DETECT_SOFTLOCKUP=y
|
||||
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
|
||||
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
|
||||
# CONFIG_SCHED_DEBUG is not set
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_TIMER_STATS is not set
|
||||
# CONFIG_DEBUG_OBJECTS is not set
|
||||
# CONFIG_DEBUG_SLAB is not set
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_RT_MUTEX_TESTER is not set
|
||||
|
@ -822,37 +928,59 @@ CONFIG_DEBUG_BUGVERBOSE=y
|
|||
# CONFIG_DEBUG_INFO is not set
|
||||
# CONFIG_DEBUG_VM is not set
|
||||
# CONFIG_DEBUG_WRITECOUNT is not set
|
||||
CONFIG_DEBUG_MEMORY_INIT=y
|
||||
# CONFIG_DEBUG_LIST is not set
|
||||
# CONFIG_DEBUG_SG is not set
|
||||
CONFIG_FRAME_POINTER=y
|
||||
# CONFIG_DEBUG_NOTIFIERS is not set
|
||||
# CONFIG_BOOT_PRINTK_DELAY is not set
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
|
||||
# CONFIG_BACKTRACE_SELF_TEST is not set
|
||||
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
|
||||
# CONFIG_FAULT_INJECTION is not set
|
||||
# CONFIG_SYSCTL_SYSCALL_CHECK is not set
|
||||
|
||||
#
|
||||
# Tracers
|
||||
#
|
||||
# CONFIG_SCHED_TRACER is not set
|
||||
# CONFIG_CONTEXT_SWITCH_TRACER is not set
|
||||
# CONFIG_BOOT_TRACER is not set
|
||||
# CONFIG_TRACE_BRANCH_PROFILING is not set
|
||||
# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
|
||||
# CONFIG_SAMPLES is not set
|
||||
CONFIG_KGDB=y
|
||||
CONFIG_HAVE_ARCH_KGDB=y
|
||||
CONFIG_KGDB=y
|
||||
CONFIG_KGDB_SERIAL_CONSOLE=y
|
||||
CONFIG_KGDB_TESTS=y
|
||||
# CONFIG_KGDB_TESTS_ON_BOOT is not set
|
||||
# CONFIG_DEBUG_STACK_USAGE is not set
|
||||
# CONFIG_STACK_DEBUG is not set
|
||||
|
||||
#
|
||||
# Security options
|
||||
#
|
||||
# CONFIG_KEYS is not set
|
||||
# CONFIG_SECURITY is not set
|
||||
# CONFIG_SECURITYFS is not set
|
||||
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
|
||||
CONFIG_CRYPTO=y
|
||||
|
||||
#
|
||||
# Crypto core or helper
|
||||
#
|
||||
# CONFIG_CRYPTO_FIPS is not set
|
||||
CONFIG_CRYPTO_ALGAPI=y
|
||||
CONFIG_CRYPTO_ALGAPI2=y
|
||||
CONFIG_CRYPTO_AEAD=y
|
||||
CONFIG_CRYPTO_AEAD2=y
|
||||
CONFIG_CRYPTO_BLKCIPHER=y
|
||||
CONFIG_CRYPTO_BLKCIPHER2=y
|
||||
CONFIG_CRYPTO_HASH=y
|
||||
CONFIG_CRYPTO_HASH2=y
|
||||
CONFIG_CRYPTO_RNG2=y
|
||||
CONFIG_CRYPTO_MANAGER=y
|
||||
CONFIG_CRYPTO_MANAGER2=y
|
||||
# CONFIG_CRYPTO_GF128MUL is not set
|
||||
CONFIG_CRYPTO_NULL=m
|
||||
# CONFIG_CRYPTO_CRYPTD is not set
|
||||
|
@ -890,6 +1018,10 @@ CONFIG_CRYPTO_CRC32C=m
|
|||
CONFIG_CRYPTO_MD4=y
|
||||
CONFIG_CRYPTO_MD5=y
|
||||
CONFIG_CRYPTO_MICHAEL_MIC=m
|
||||
# CONFIG_CRYPTO_RMD128 is not set
|
||||
# CONFIG_CRYPTO_RMD160 is not set
|
||||
# CONFIG_CRYPTO_RMD256 is not set
|
||||
# CONFIG_CRYPTO_RMD320 is not set
|
||||
CONFIG_CRYPTO_SHA1=y
|
||||
CONFIG_CRYPTO_SHA256=m
|
||||
CONFIG_CRYPTO_SHA512=m
|
||||
|
@ -921,15 +1053,21 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
|
|||
#
|
||||
CONFIG_CRYPTO_DEFLATE=y
|
||||
# CONFIG_CRYPTO_LZO is not set
|
||||
|
||||
#
|
||||
# Random Number Generation
|
||||
#
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
# CONFIG_CRYPTO_HW is not set
|
||||
|
||||
#
|
||||
# Library routines
|
||||
#
|
||||
CONFIG_BITREVERSE=y
|
||||
# CONFIG_GENERIC_FIND_FIRST_BIT is not set
|
||||
CONFIG_GENERIC_FIND_LAST_BIT=y
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
# CONFIG_CRC16 is not set
|
||||
# CONFIG_CRC_T10DIF is not set
|
||||
# CONFIG_CRC_ITU_T is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_CRC7 is not set
|
||||
|
|
|
@ -177,17 +177,6 @@ extern void prom_putsegment(int context, unsigned long virt_addr,
|
|||
|
||||
/* PROM device tree traversal functions... */
|
||||
|
||||
#ifdef PROMLIB_INTERNAL
|
||||
|
||||
/* Internal version of prom_getchild. */
|
||||
extern int __prom_getchild(int parent_node);
|
||||
|
||||
/* Internal version of prom_getsibling. */
|
||||
extern int __prom_getsibling(int node);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* Get the child node of the given node, or zero if no child exists. */
|
||||
extern int prom_getchild(int parent_node);
|
||||
|
||||
|
|
|
@ -218,16 +218,6 @@ extern void prom_unmap(unsigned long size, unsigned long vaddr);
|
|||
|
||||
/* PROM device tree traversal functions... */
|
||||
|
||||
#ifdef PROMLIB_INTERNAL
|
||||
|
||||
/* Internal version of prom_getchild. */
|
||||
extern int __prom_getchild(int parent_node);
|
||||
|
||||
/* Internal version of prom_getsibling. */
|
||||
extern int __prom_getsibling(int node);
|
||||
|
||||
#endif
|
||||
|
||||
/* Get the child node of the given node, or zero if no child exists. */
|
||||
extern int prom_getchild(int parent_node);
|
||||
|
||||
|
|
|
@ -84,7 +84,11 @@
|
|||
|
||||
#define __OLD_NSIG 32
|
||||
#define __NEW_NSIG 64
|
||||
#ifdef __arch64__
|
||||
#define _NSIG_BPW 64
|
||||
#else
|
||||
#define _NSIG_BPW 32
|
||||
#endif
|
||||
#define _NSIG_WORDS (__NEW_NSIG / _NSIG_BPW)
|
||||
|
||||
#define SIGRTMIN 32
|
||||
|
|
|
@ -76,6 +76,7 @@ unsigned char get_auxio(void)
|
|||
return sbus_readb(auxio_register);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(get_auxio);
|
||||
|
||||
void set_auxio(unsigned char bits_on, unsigned char bits_off)
|
||||
{
|
||||
|
@ -102,7 +103,7 @@ void set_auxio(unsigned char bits_on, unsigned char bits_off)
|
|||
};
|
||||
spin_unlock_irqrestore(&auxio_lock, flags);
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(set_auxio);
|
||||
|
||||
/* sun4m power control register (AUXIO2) */
|
||||
|
||||
|
|
|
@ -72,6 +72,7 @@ void auxio_set_led(int on)
|
|||
bit = (ebus ? AUXIO_PCIO_LED : AUXIO_AUX1_LED);
|
||||
__auxio_set_bit(bit, on, ebus);
|
||||
}
|
||||
EXPORT_SYMBOL(auxio_set_led);
|
||||
|
||||
static void __auxio_sbus_set_lte(int on)
|
||||
{
|
||||
|
@ -90,6 +91,7 @@ void auxio_set_lte(int on)
|
|||
break;
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(auxio_set_lte);
|
||||
|
||||
static struct of_device_id __initdata auxio_match[] = {
|
||||
{
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/threads.h>
|
||||
|
@ -20,6 +21,7 @@
|
|||
#include "kernel.h"
|
||||
|
||||
DEFINE_PER_CPU(cpuinfo_sparc, __cpu_data) = { 0 };
|
||||
EXPORT_PER_CPU_SYMBOL(__cpu_data);
|
||||
|
||||
struct cpu_info {
|
||||
int psr_vers;
|
||||
|
|
|
@ -8,11 +8,14 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
#include <asm/oplib.h>
|
||||
#include <asm/idprom.h>
|
||||
|
||||
struct idprom *idprom;
|
||||
EXPORT_SYMBOL(idprom);
|
||||
|
||||
static struct idprom idprom_buffer;
|
||||
|
||||
#ifdef CONFIG_SPARC32
|
||||
|
|
|
@ -120,6 +120,7 @@ void __iomem *ioremap(unsigned long offset, unsigned long size)
|
|||
sprintf(name, "phys_%08x", (u32)offset);
|
||||
return _sparc_alloc_io(0, offset, size, name);
|
||||
}
|
||||
EXPORT_SYMBOL(ioremap);
|
||||
|
||||
/*
|
||||
* Comlimentary to ioremap().
|
||||
|
@ -141,6 +142,7 @@ void iounmap(volatile void __iomem *virtual)
|
|||
kfree(res);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(iounmap);
|
||||
|
||||
void __iomem *of_ioremap(struct resource *res, unsigned long offset,
|
||||
unsigned long size, char *name)
|
||||
|
@ -237,6 +239,7 @@ void sbus_set_sbus64(struct device *dev, int x)
|
|||
{
|
||||
printk("sbus_set_sbus64: unsupported\n");
|
||||
}
|
||||
EXPORT_SYMBOL(sbus_set_sbus64);
|
||||
|
||||
/*
|
||||
* Allocate a chunk of memory suitable for DMA.
|
||||
|
@ -436,6 +439,7 @@ void *pci_alloc_consistent(struct pci_dev *pdev, size_t len, dma_addr_t *pba)
|
|||
*pba = virt_to_phys(va); /* equals virt_to_bus (R.I.P.) for us. */
|
||||
return (void *) res->start;
|
||||
}
|
||||
EXPORT_SYMBOL(pci_alloc_consistent);
|
||||
|
||||
/* Free and unmap a consistent DMA buffer.
|
||||
* cpu_addr is what was returned from pci_alloc_consistent,
|
||||
|
@ -477,6 +481,7 @@ void pci_free_consistent(struct pci_dev *pdev, size_t n, void *p, dma_addr_t ba)
|
|||
|
||||
free_pages(pgp, get_order(n));
|
||||
}
|
||||
EXPORT_SYMBOL(pci_free_consistent);
|
||||
|
||||
/* Map a single buffer of the indicated size for DMA in streaming mode.
|
||||
* The 32-bit bus address to use is returned.
|
||||
|
@ -491,6 +496,7 @@ dma_addr_t pci_map_single(struct pci_dev *hwdev, void *ptr, size_t size,
|
|||
/* IIep is write-through, not flushing. */
|
||||
return virt_to_phys(ptr);
|
||||
}
|
||||
EXPORT_SYMBOL(pci_map_single);
|
||||
|
||||
/* Unmap a single streaming mode DMA translation. The dma_addr and size
|
||||
* must match what was provided for in a previous pci_map_single call. All
|
||||
|
@ -508,6 +514,7 @@ void pci_unmap_single(struct pci_dev *hwdev, dma_addr_t ba, size_t size,
|
|||
(size + PAGE_SIZE-1) & PAGE_MASK);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(pci_unmap_single);
|
||||
|
||||
/*
|
||||
* Same as pci_map_single, but with pages.
|
||||
|
@ -519,6 +526,7 @@ dma_addr_t pci_map_page(struct pci_dev *hwdev, struct page *page,
|
|||
/* IIep is write-through, not flushing. */
|
||||
return page_to_phys(page) + offset;
|
||||
}
|
||||
EXPORT_SYMBOL(pci_map_page);
|
||||
|
||||
void pci_unmap_page(struct pci_dev *hwdev,
|
||||
dma_addr_t dma_address, size_t size, int direction)
|
||||
|
@ -526,6 +534,7 @@ void pci_unmap_page(struct pci_dev *hwdev,
|
|||
BUG_ON(direction == PCI_DMA_NONE);
|
||||
/* mmu_inval_dma_area XXX */
|
||||
}
|
||||
EXPORT_SYMBOL(pci_unmap_page);
|
||||
|
||||
/* Map a set of buffers described by scatterlist in streaming
|
||||
* mode for DMA. This is the scather-gather version of the
|
||||
|
@ -557,6 +566,7 @@ int pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sgl, int nents,
|
|||
}
|
||||
return nents;
|
||||
}
|
||||
EXPORT_SYMBOL(pci_map_sg);
|
||||
|
||||
/* Unmap a set of streaming mode DMA translations.
|
||||
* Again, cpu read rules concerning calls here are the same as for
|
||||
|
@ -578,6 +588,7 @@ void pci_unmap_sg(struct pci_dev *hwdev, struct scatterlist *sgl, int nents,
|
|||
}
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(pci_unmap_sg);
|
||||
|
||||
/* Make physical memory consistent for a single
|
||||
* streaming mode DMA translation before or after a transfer.
|
||||
|
@ -597,6 +608,7 @@ void pci_dma_sync_single_for_cpu(struct pci_dev *hwdev, dma_addr_t ba, size_t si
|
|||
(size + PAGE_SIZE-1) & PAGE_MASK);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(pci_dma_sync_single_for_cpu);
|
||||
|
||||
void pci_dma_sync_single_for_device(struct pci_dev *hwdev, dma_addr_t ba, size_t size, int direction)
|
||||
{
|
||||
|
@ -606,6 +618,7 @@ void pci_dma_sync_single_for_device(struct pci_dev *hwdev, dma_addr_t ba, size_t
|
|||
(size + PAGE_SIZE-1) & PAGE_MASK);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(pci_dma_sync_single_for_device);
|
||||
|
||||
/* Make physical memory consistent for a set of streaming
|
||||
* mode DMA translations after a transfer.
|
||||
|
@ -628,6 +641,7 @@ void pci_dma_sync_sg_for_cpu(struct pci_dev *hwdev, struct scatterlist *sgl, int
|
|||
}
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(pci_dma_sync_sg_for_cpu);
|
||||
|
||||
void pci_dma_sync_sg_for_device(struct pci_dev *hwdev, struct scatterlist *sgl, int nents, int direction)
|
||||
{
|
||||
|
@ -644,6 +658,7 @@ void pci_dma_sync_sg_for_device(struct pci_dev *hwdev, struct scatterlist *sgl,
|
|||
}
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(pci_dma_sync_sg_for_device);
|
||||
#endif /* CONFIG_PCI */
|
||||
|
||||
#ifdef CONFIG_PROC_FS
|
||||
|
|
|
@ -294,6 +294,7 @@ void synchronize_irq(unsigned int irq)
|
|||
while (sparc_irq[cpu_irq].flags & SPARC_IRQ_INPROGRESS)
|
||||
cpu_relax();
|
||||
}
|
||||
EXPORT_SYMBOL(synchronize_irq);
|
||||
#endif /* SMP */
|
||||
|
||||
void unexpected_irq(int irq, void *dev_id, struct pt_regs * regs)
|
||||
|
|
|
@ -1077,6 +1077,7 @@ int pci_dma_supported(struct pci_dev *pdev, u64 device_mask)
|
|||
|
||||
return (device_mask & dma_addr_mask) == dma_addr_mask;
|
||||
}
|
||||
EXPORT_SYMBOL(pci_dma_supported);
|
||||
|
||||
void pci_resource_to_user(const struct pci_dev *pdev, int bar,
|
||||
const struct resource *rp, resource_size_t *start,
|
||||
|
|
|
@ -956,6 +956,7 @@ void outsb(unsigned long addr, const void *src, unsigned long count)
|
|||
/* addr += 1; */
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(outsb);
|
||||
|
||||
void outsw(unsigned long addr, const void *src, unsigned long count)
|
||||
{
|
||||
|
@ -966,6 +967,7 @@ void outsw(unsigned long addr, const void *src, unsigned long count)
|
|||
/* addr += 2; */
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(outsw);
|
||||
|
||||
void outsl(unsigned long addr, const void *src, unsigned long count)
|
||||
{
|
||||
|
@ -976,6 +978,7 @@ void outsl(unsigned long addr, const void *src, unsigned long count)
|
|||
/* addr += 4; */
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(outsl);
|
||||
|
||||
void insb(unsigned long addr, void *dst, unsigned long count)
|
||||
{
|
||||
|
@ -986,6 +989,7 @@ void insb(unsigned long addr, void *dst, unsigned long count)
|
|||
/* addr += 1; */
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(insb);
|
||||
|
||||
void insw(unsigned long addr, void *dst, unsigned long count)
|
||||
{
|
||||
|
@ -996,6 +1000,7 @@ void insw(unsigned long addr, void *dst, unsigned long count)
|
|||
/* addr += 2; */
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(insw);
|
||||
|
||||
void insl(unsigned long addr, void *dst, unsigned long count)
|
||||
{
|
||||
|
@ -1009,5 +1014,6 @@ void insl(unsigned long addr, void *dst, unsigned long count)
|
|||
/* addr += 4; */
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(insl);
|
||||
|
||||
subsys_initcall(pcic_init);
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
* Set in pm platform drivers (apc.c and pmc.c)
|
||||
*/
|
||||
void (*pm_idle)(void);
|
||||
EXPORT_SYMBOL(pm_idle);
|
||||
|
||||
/*
|
||||
* Power-off handler instantiation for pm.h compliance
|
||||
|
@ -673,6 +674,7 @@ pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
|
|||
"g1", "g2", "g3", "o0", "o1", "memory", "cc");
|
||||
return retval;
|
||||
}
|
||||
EXPORT_SYMBOL(kernel_thread);
|
||||
|
||||
unsigned long get_wchan(struct task_struct *task)
|
||||
{
|
||||
|
|
|
@ -678,6 +678,7 @@ pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
|
|||
"g1", "g2", "g3", "o0", "o1", "memory", "cc");
|
||||
return retval;
|
||||
}
|
||||
EXPORT_SYMBOL(kernel_thread);
|
||||
|
||||
typedef struct {
|
||||
union {
|
||||
|
@ -743,6 +744,7 @@ int dump_fpu (struct pt_regs * regs, elf_fpregset_t * fpregs)
|
|||
}
|
||||
return 1;
|
||||
}
|
||||
EXPORT_SYMBOL(dump_fpu);
|
||||
|
||||
/*
|
||||
* sparc_execve() executes a new program after the asm stub has set
|
||||
|
|
|
@ -11,19 +11,19 @@
|
|||
#include "iommu_common.h"
|
||||
#include "psycho_common.h"
|
||||
|
||||
#define PSYCHO_STRBUF_CTRL_DENAB 0x0000000000000002UL
|
||||
#define PSYCHO_STCERR_WRITE 0x0000000000000002UL
|
||||
#define PSYCHO_STCERR_READ 0x0000000000000001UL
|
||||
#define PSYCHO_STCTAG_PPN 0x0fffffff00000000UL
|
||||
#define PSYCHO_STCTAG_VPN 0x00000000ffffe000UL
|
||||
#define PSYCHO_STCTAG_VALID 0x0000000000000002UL
|
||||
#define PSYCHO_STCTAG_WRITE 0x0000000000000001UL
|
||||
#define PSYCHO_STCLINE_LINDX 0x0000000001e00000UL
|
||||
#define PSYCHO_STCLINE_SPTR 0x00000000001f8000UL
|
||||
#define PSYCHO_STCLINE_LADDR 0x0000000000007f00UL
|
||||
#define PSYCHO_STCLINE_EPTR 0x00000000000000fcUL
|
||||
#define PSYCHO_STCLINE_VALID 0x0000000000000002UL
|
||||
#define PSYCHO_STCLINE_FOFN 0x0000000000000001UL
|
||||
#define PSYCHO_STRBUF_CTRL_DENAB 0x0000000000000002ULL
|
||||
#define PSYCHO_STCERR_WRITE 0x0000000000000002ULL
|
||||
#define PSYCHO_STCERR_READ 0x0000000000000001ULL
|
||||
#define PSYCHO_STCTAG_PPN 0x0fffffff00000000ULL
|
||||
#define PSYCHO_STCTAG_VPN 0x00000000ffffe000ULL
|
||||
#define PSYCHO_STCTAG_VALID 0x0000000000000002ULL
|
||||
#define PSYCHO_STCTAG_WRITE 0x0000000000000001ULL
|
||||
#define PSYCHO_STCLINE_LINDX 0x0000000001e00000ULL
|
||||
#define PSYCHO_STCLINE_SPTR 0x00000000001f8000ULL
|
||||
#define PSYCHO_STCLINE_LADDR 0x0000000000007f00ULL
|
||||
#define PSYCHO_STCLINE_EPTR 0x00000000000000fcULL
|
||||
#define PSYCHO_STCLINE_VALID 0x0000000000000002ULL
|
||||
#define PSYCHO_STCLINE_FOFN 0x0000000000000001ULL
|
||||
|
||||
static DEFINE_SPINLOCK(stc_buf_lock);
|
||||
static unsigned long stc_error_buf[128];
|
||||
|
@ -144,10 +144,10 @@ static void psycho_record_iommu_tags_and_data(struct pci_pbm_info *pbm,
|
|||
#define PSYCHO_IOMMU_TAG_WRITE (0x1UL << 21UL)
|
||||
#define PSYCHO_IOMMU_TAG_STREAM (0x1UL << 20UL)
|
||||
#define PSYCHO_IOMMU_TAG_SIZE (0x1UL << 19UL)
|
||||
#define PSYCHO_IOMMU_TAG_VPAGE 0x7ffffUL
|
||||
#define PSYCHO_IOMMU_TAG_VPAGE 0x7ffffULL
|
||||
#define PSYCHO_IOMMU_DATA_VALID (1UL << 30UL)
|
||||
#define PSYCHO_IOMMU_DATA_CACHE (1UL << 28UL)
|
||||
#define PSYCHO_IOMMU_DATA_PPAGE 0xfffffffUL
|
||||
#define PSYCHO_IOMMU_DATA_PPAGE 0xfffffffULL
|
||||
|
||||
static void psycho_dump_iommu_tags_and_data(struct pci_pbm_info *pbm,
|
||||
u64 *tag, u64 *data)
|
||||
|
@ -190,7 +190,7 @@ static void psycho_dump_iommu_tags_and_data(struct pci_pbm_info *pbm,
|
|||
pbm->name, i,
|
||||
((data_val & PSYCHO_IOMMU_DATA_VALID) ? 1 : 0),
|
||||
((data_val & PSYCHO_IOMMU_DATA_CACHE) ? 1 : 0),
|
||||
(data_val & PSYCHO_IOMMU_DATA_PPAGE)<<IOMMU_PAGE_SHIFT);
|
||||
(data_val & PSYCHO_IOMMU_DATA_PPAGE) << IOMMU_PAGE_SHIFT);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -285,20 +285,20 @@ static irqreturn_t psycho_pcierr_intr_other(struct pci_pbm_info *pbm)
|
|||
return ret;
|
||||
}
|
||||
|
||||
#define PSYCHO_PCIAFSR_PMA 0x8000000000000000UL
|
||||
#define PSYCHO_PCIAFSR_PTA 0x4000000000000000UL
|
||||
#define PSYCHO_PCIAFSR_PRTRY 0x2000000000000000UL
|
||||
#define PSYCHO_PCIAFSR_PPERR 0x1000000000000000UL
|
||||
#define PSYCHO_PCIAFSR_SMA 0x0800000000000000UL
|
||||
#define PSYCHO_PCIAFSR_STA 0x0400000000000000UL
|
||||
#define PSYCHO_PCIAFSR_SRTRY 0x0200000000000000UL
|
||||
#define PSYCHO_PCIAFSR_SPERR 0x0100000000000000UL
|
||||
#define PSYCHO_PCIAFSR_RESV1 0x00ff000000000000UL
|
||||
#define PSYCHO_PCIAFSR_BMSK 0x0000ffff00000000UL
|
||||
#define PSYCHO_PCIAFSR_BLK 0x0000000080000000UL
|
||||
#define PSYCHO_PCIAFSR_RESV2 0x0000000040000000UL
|
||||
#define PSYCHO_PCIAFSR_MID 0x000000003e000000UL
|
||||
#define PSYCHO_PCIAFSR_RESV3 0x0000000001ffffffUL
|
||||
#define PSYCHO_PCIAFSR_PMA 0x8000000000000000ULL
|
||||
#define PSYCHO_PCIAFSR_PTA 0x4000000000000000ULL
|
||||
#define PSYCHO_PCIAFSR_PRTRY 0x2000000000000000ULL
|
||||
#define PSYCHO_PCIAFSR_PPERR 0x1000000000000000ULL
|
||||
#define PSYCHO_PCIAFSR_SMA 0x0800000000000000ULL
|
||||
#define PSYCHO_PCIAFSR_STA 0x0400000000000000ULL
|
||||
#define PSYCHO_PCIAFSR_SRTRY 0x0200000000000000ULL
|
||||
#define PSYCHO_PCIAFSR_SPERR 0x0100000000000000ULL
|
||||
#define PSYCHO_PCIAFSR_RESV1 0x00ff000000000000ULL
|
||||
#define PSYCHO_PCIAFSR_BMSK 0x0000ffff00000000ULL
|
||||
#define PSYCHO_PCIAFSR_BLK 0x0000000080000000ULL
|
||||
#define PSYCHO_PCIAFSR_RESV2 0x0000000040000000ULL
|
||||
#define PSYCHO_PCIAFSR_MID 0x000000003e000000ULL
|
||||
#define PSYCHO_PCIAFSR_RESV3 0x0000000001ffffffULL
|
||||
|
||||
irqreturn_t psycho_pcierr_intr(int irq, void *dev_id)
|
||||
{
|
||||
|
|
|
@ -117,6 +117,7 @@ void sbus_set_sbus64(struct device *dev, int bursts)
|
|||
val |= (1UL << 4UL);
|
||||
upa_writeq(val, cfg_reg);
|
||||
}
|
||||
EXPORT_SYMBOL(sbus_set_sbus64);
|
||||
|
||||
/* INO number to IMAP register offset for SYSIO external IRQ's.
|
||||
* This should conform to both Sunfire/Wildfire server and Fusion
|
||||
|
|
|
@ -199,7 +199,9 @@ extern unsigned short ram_flags;
|
|||
extern int root_mountflags;
|
||||
|
||||
char reboot_command[COMMAND_LINE_SIZE];
|
||||
|
||||
enum sparc_cpu sparc_cpu_model;
|
||||
EXPORT_SYMBOL(sparc_cpu_model);
|
||||
|
||||
struct tt_entry *sparc_ttable;
|
||||
|
||||
|
@ -391,6 +393,7 @@ void sun_do_break(void)
|
|||
|
||||
prom_cmdline();
|
||||
}
|
||||
EXPORT_SYMBOL(sun_do_break);
|
||||
|
||||
int stop_a_enabled = 1;
|
||||
|
||||
|
|
|
@ -58,6 +58,7 @@
|
|||
* operations in asm/ns87303.h
|
||||
*/
|
||||
DEFINE_SPINLOCK(ns87303_lock);
|
||||
EXPORT_SYMBOL(ns87303_lock);
|
||||
|
||||
struct screen_info screen_info = {
|
||||
0, 0, /* orig-x, orig-y */
|
||||
|
@ -425,5 +426,7 @@ void sun_do_break(void)
|
|||
|
||||
prom_cmdline();
|
||||
}
|
||||
EXPORT_SYMBOL(sun_do_break);
|
||||
|
||||
int stop_a_enabled = 1;
|
||||
EXPORT_SYMBOL(stop_a_enabled);
|
||||
|
|
|
@ -5,49 +5,14 @@
|
|||
* Copyright (C) 1996 Eddie C. Dost (ecd@skynet.be)
|
||||
*/
|
||||
|
||||
/* Tell string.h we don't want memcpy etc. as cpp defines */
|
||||
#define EXPORT_SYMTAB_STROPS
|
||||
#define PROMLIB_INTERNAL
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/in6.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/syscalls.h>
|
||||
#ifdef CONFIG_PCI
|
||||
#include <linux/pci.h>
|
||||
#endif
|
||||
#include <linux/pm.h>
|
||||
#ifdef CONFIG_HIGHMEM
|
||||
#include <linux/highmem.h>
|
||||
#endif
|
||||
|
||||
#include <asm/oplib.h>
|
||||
#include <asm/delay.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/auxio.h>
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/idprom.h>
|
||||
#include <asm/head.h>
|
||||
#include <asm/smp.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/checksum.h>
|
||||
#ifdef CONFIG_SBUS
|
||||
#include <asm/delay.h>
|
||||
#include <asm/head.h>
|
||||
#include <asm/dma.h>
|
||||
#endif
|
||||
#include <asm/io-unit.h>
|
||||
#include <asm/bug.h>
|
||||
|
||||
extern spinlock_t rtc_lock;
|
||||
|
||||
struct poll {
|
||||
int fd;
|
||||
|
@ -55,72 +20,15 @@ struct poll {
|
|||
short revents;
|
||||
};
|
||||
|
||||
extern void (*__copy_1page)(void *, const void *);
|
||||
extern void __memmove(void *, const void *, __kernel_size_t);
|
||||
extern void (*bzero_1page)(void *);
|
||||
extern void *__bzero(void *, size_t);
|
||||
extern void *__memscan_zero(void *, size_t);
|
||||
extern void *__memscan_generic(void *, int, size_t);
|
||||
extern int __strncmp(const char *, const char *, __kernel_size_t);
|
||||
|
||||
extern int __ashrdi3(int, int);
|
||||
extern int __ashldi3(int, int);
|
||||
extern int __lshrdi3(int, int);
|
||||
extern int __muldi3(int, int);
|
||||
extern int __divdi3(int, int);
|
||||
|
||||
/* Private functions with odd calling conventions. */
|
||||
extern void ___atomic24_add(void);
|
||||
extern void ___atomic24_sub(void);
|
||||
extern void ___rw_read_enter(void);
|
||||
extern void ___rw_read_try(void);
|
||||
extern void ___rw_read_exit(void);
|
||||
extern void ___rw_write_enter(void);
|
||||
|
||||
/* Alias functions whose names begin with "." and export the aliases.
|
||||
* The module references will be fixed up by module_frob_arch_sections.
|
||||
*/
|
||||
extern int _Div(int, int);
|
||||
extern int _Mul(int, int);
|
||||
extern int _Rem(int, int);
|
||||
extern unsigned _Udiv(unsigned, unsigned);
|
||||
extern unsigned _Umul(unsigned, unsigned);
|
||||
extern unsigned _Urem(unsigned, unsigned);
|
||||
|
||||
/* used by various drivers */
|
||||
EXPORT_SYMBOL(sparc_cpu_model);
|
||||
EXPORT_SYMBOL(kernel_thread);
|
||||
#ifdef CONFIG_SMP
|
||||
// XXX find what uses (or used) these. AV: see asm/spinlock.h
|
||||
EXPORT_SYMBOL(___rw_read_enter);
|
||||
EXPORT_SYMBOL(___rw_read_try);
|
||||
EXPORT_SYMBOL(___rw_read_exit);
|
||||
EXPORT_SYMBOL(___rw_write_enter);
|
||||
#endif
|
||||
|
||||
EXPORT_SYMBOL(sparc_valid_addr_bitmap);
|
||||
EXPORT_SYMBOL(phys_base);
|
||||
EXPORT_SYMBOL(pfn_base);
|
||||
|
||||
/* Atomic operations. */
|
||||
EXPORT_SYMBOL(___atomic24_add);
|
||||
EXPORT_SYMBOL(___atomic24_sub);
|
||||
|
||||
/* Per-CPU information table */
|
||||
EXPORT_PER_CPU_SYMBOL(__cpu_data);
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
/* IRQ implementation. */
|
||||
EXPORT_SYMBOL(synchronize_irq);
|
||||
#endif
|
||||
|
||||
/* from entry.S */
|
||||
EXPORT_SYMBOL(__udelay);
|
||||
EXPORT_SYMBOL(__ndelay);
|
||||
EXPORT_SYMBOL(rtc_lock);
|
||||
EXPORT_SYMBOL(set_auxio);
|
||||
EXPORT_SYMBOL(get_auxio);
|
||||
EXPORT_SYMBOL(io_remap_pfn_range);
|
||||
|
||||
/* from head_32.S */
|
||||
EXPORT_SYMBOL(__ret_efault);
|
||||
EXPORT_SYMBOL(empty_zero_page);
|
||||
|
||||
/* Defined using magic */
|
||||
#ifndef CONFIG_SMP
|
||||
EXPORT_SYMBOL(BTFIXUP_CALL(___xchg32));
|
||||
#else
|
||||
|
@ -132,122 +40,7 @@ EXPORT_SYMBOL(BTFIXUP_CALL(mmu_get_scsi_sgl));
|
|||
EXPORT_SYMBOL(BTFIXUP_CALL(mmu_get_scsi_one));
|
||||
EXPORT_SYMBOL(BTFIXUP_CALL(mmu_release_scsi_sgl));
|
||||
EXPORT_SYMBOL(BTFIXUP_CALL(mmu_release_scsi_one));
|
||||
|
||||
EXPORT_SYMBOL(BTFIXUP_CALL(pgprot_noncached));
|
||||
|
||||
#ifdef CONFIG_SBUS
|
||||
EXPORT_SYMBOL(sbus_set_sbus64);
|
||||
#endif
|
||||
#ifdef CONFIG_PCI
|
||||
EXPORT_SYMBOL(insb);
|
||||
EXPORT_SYMBOL(outsb);
|
||||
EXPORT_SYMBOL(insw);
|
||||
EXPORT_SYMBOL(outsw);
|
||||
EXPORT_SYMBOL(insl);
|
||||
EXPORT_SYMBOL(outsl);
|
||||
EXPORT_SYMBOL(pci_alloc_consistent);
|
||||
EXPORT_SYMBOL(pci_free_consistent);
|
||||
EXPORT_SYMBOL(pci_map_single);
|
||||
EXPORT_SYMBOL(pci_unmap_single);
|
||||
EXPORT_SYMBOL(pci_dma_sync_single_for_cpu);
|
||||
EXPORT_SYMBOL(pci_dma_sync_single_for_device);
|
||||
EXPORT_SYMBOL(pci_dma_sync_sg_for_cpu);
|
||||
EXPORT_SYMBOL(pci_dma_sync_sg_for_device);
|
||||
EXPORT_SYMBOL(pci_map_sg);
|
||||
EXPORT_SYMBOL(pci_unmap_sg);
|
||||
EXPORT_SYMBOL(pci_map_page);
|
||||
EXPORT_SYMBOL(pci_unmap_page);
|
||||
/* Actually, ioremap/iounmap are not PCI specific. But it is ok for drivers. */
|
||||
EXPORT_SYMBOL(ioremap);
|
||||
EXPORT_SYMBOL(iounmap);
|
||||
#endif
|
||||
|
||||
/* in arch/sparc/mm/highmem.c */
|
||||
#ifdef CONFIG_HIGHMEM
|
||||
EXPORT_SYMBOL(kmap_atomic);
|
||||
EXPORT_SYMBOL(kunmap_atomic);
|
||||
#endif
|
||||
|
||||
/* prom symbols */
|
||||
EXPORT_SYMBOL(idprom);
|
||||
EXPORT_SYMBOL(prom_root_node);
|
||||
EXPORT_SYMBOL(prom_getchild);
|
||||
EXPORT_SYMBOL(prom_getsibling);
|
||||
EXPORT_SYMBOL(prom_searchsiblings);
|
||||
EXPORT_SYMBOL(prom_firstprop);
|
||||
EXPORT_SYMBOL(prom_nextprop);
|
||||
EXPORT_SYMBOL(prom_getproplen);
|
||||
EXPORT_SYMBOL(prom_getproperty);
|
||||
EXPORT_SYMBOL(prom_node_has_property);
|
||||
EXPORT_SYMBOL(prom_setprop);
|
||||
/* Exporting a symbol from /init/main.c */
|
||||
EXPORT_SYMBOL(saved_command_line);
|
||||
EXPORT_SYMBOL(prom_apply_obio_ranges);
|
||||
EXPORT_SYMBOL(prom_feval);
|
||||
EXPORT_SYMBOL(prom_getbool);
|
||||
EXPORT_SYMBOL(prom_getstring);
|
||||
EXPORT_SYMBOL(prom_getint);
|
||||
EXPORT_SYMBOL(prom_getintdefault);
|
||||
EXPORT_SYMBOL(prom_finddevice);
|
||||
EXPORT_SYMBOL(romvec);
|
||||
EXPORT_SYMBOL(__prom_getchild);
|
||||
EXPORT_SYMBOL(__prom_getsibling);
|
||||
|
||||
/* sparc library symbols */
|
||||
EXPORT_SYMBOL(memscan);
|
||||
EXPORT_SYMBOL(strlen);
|
||||
EXPORT_SYMBOL(strncmp);
|
||||
EXPORT_SYMBOL(page_kernel);
|
||||
|
||||
/* Special internal versions of library functions. */
|
||||
EXPORT_SYMBOL(__copy_1page);
|
||||
EXPORT_SYMBOL(__memcpy);
|
||||
EXPORT_SYMBOL(__memset);
|
||||
EXPORT_SYMBOL(bzero_1page);
|
||||
EXPORT_SYMBOL(__bzero);
|
||||
EXPORT_SYMBOL(__memscan_zero);
|
||||
EXPORT_SYMBOL(__memscan_generic);
|
||||
EXPORT_SYMBOL(__strncmp);
|
||||
EXPORT_SYMBOL(__memmove);
|
||||
|
||||
/* Moving data to/from userspace. */
|
||||
EXPORT_SYMBOL(__copy_user);
|
||||
EXPORT_SYMBOL(__strncpy_from_user);
|
||||
EXPORT_SYMBOL(__strnlen_user);
|
||||
|
||||
/* Networking helper routines. */
|
||||
EXPORT_SYMBOL(__csum_partial_copy_sparc_generic);
|
||||
EXPORT_SYMBOL(csum_partial);
|
||||
|
||||
/* Cache flushing. */
|
||||
EXPORT_SYMBOL(sparc_flush_page_to_ram);
|
||||
|
||||
/* For when serial stuff is built as modules. */
|
||||
EXPORT_SYMBOL(sun_do_break);
|
||||
|
||||
EXPORT_SYMBOL(__ret_efault);
|
||||
|
||||
EXPORT_SYMBOL(memcmp);
|
||||
EXPORT_SYMBOL(memcpy);
|
||||
EXPORT_SYMBOL(memset);
|
||||
EXPORT_SYMBOL(memmove);
|
||||
EXPORT_SYMBOL(__ashrdi3);
|
||||
EXPORT_SYMBOL(__ashldi3);
|
||||
EXPORT_SYMBOL(__lshrdi3);
|
||||
EXPORT_SYMBOL(__muldi3);
|
||||
EXPORT_SYMBOL(__divdi3);
|
||||
|
||||
EXPORT_SYMBOL(_Rem);
|
||||
EXPORT_SYMBOL(_Urem);
|
||||
EXPORT_SYMBOL(_Mul);
|
||||
EXPORT_SYMBOL(_Umul);
|
||||
EXPORT_SYMBOL(_Div);
|
||||
EXPORT_SYMBOL(_Udiv);
|
||||
|
||||
#ifdef CONFIG_DEBUG_BUGVERBOSE
|
||||
EXPORT_SYMBOL(do_BUG);
|
||||
#endif
|
||||
|
||||
/* Sun Power Management Idle Handler */
|
||||
EXPORT_SYMBOL(pm_idle);
|
||||
|
||||
EXPORT_SYMBOL(empty_zero_page);
|
||||
|
|
|
@ -5,50 +5,16 @@
|
|||
* Copyright (C) 1999 Jakub Jelinek (jj@ultra.linux.cz)
|
||||
*/
|
||||
|
||||
/* Tell string.h we don't want memcpy etc. as cpp defines */
|
||||
#define EXPORT_SYMTAB_STROPS
|
||||
#define PROMLIB_INTERNAL
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/in6.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/fs_struct.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/socket.h>
|
||||
#include <linux/syscalls.h>
|
||||
#include <linux/percpu.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/rwsem.h>
|
||||
#include <net/compat.h>
|
||||
|
||||
#include <asm/oplib.h>
|
||||
#include <asm/spinlock.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/auxio.h>
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/idprom.h>
|
||||
#include <asm/elf.h>
|
||||
#include <asm/head.h>
|
||||
#include <asm/smp.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/checksum.h>
|
||||
#include <asm/fpumacro.h>
|
||||
#include <asm/pgalloc.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#ifdef CONFIG_SBUS
|
||||
#include <asm/dma.h>
|
||||
#endif
|
||||
#include <asm/ns87303.h>
|
||||
#include <asm/timer.h>
|
||||
#include <asm/cpudata.h>
|
||||
#include <asm/ftrace.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/spitfire.h>
|
||||
#include <asm/oplib.h>
|
||||
#include <asm/hypervisor.h>
|
||||
|
||||
struct poll {
|
||||
|
@ -57,42 +23,6 @@ struct poll {
|
|||
short revents;
|
||||
};
|
||||
|
||||
extern void die_if_kernel(char *str, struct pt_regs *regs);
|
||||
extern pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
|
||||
extern void *__bzero(void *, size_t);
|
||||
extern void *__memscan_zero(void *, size_t);
|
||||
extern void *__memscan_generic(void *, int, size_t);
|
||||
extern __kernel_size_t strlen(const char *);
|
||||
extern void sys_sigsuspend(void);
|
||||
extern int compat_sys_ioctl(unsigned int fd, unsigned int cmd, u32 arg);
|
||||
extern int (*handle_mathemu)(struct pt_regs *, struct fpustate *);
|
||||
extern long sparc32_open(const char __user * filename, int flags, int mode);
|
||||
extern int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from,
|
||||
unsigned long pfn, unsigned long size, pgprot_t prot);
|
||||
|
||||
extern int __ashrdi3(int, int);
|
||||
|
||||
extern int dump_fpu (struct pt_regs * regs, elf_fpregset_t * fpregs);
|
||||
|
||||
extern void xor_vis_2(unsigned long, unsigned long *, unsigned long *);
|
||||
extern void xor_vis_3(unsigned long, unsigned long *, unsigned long *,
|
||||
unsigned long *);
|
||||
extern void xor_vis_4(unsigned long, unsigned long *, unsigned long *,
|
||||
unsigned long *, unsigned long *);
|
||||
extern void xor_vis_5(unsigned long, unsigned long *, unsigned long *,
|
||||
unsigned long *, unsigned long *, unsigned long *);
|
||||
|
||||
extern void xor_niagara_2(unsigned long, unsigned long *, unsigned long *);
|
||||
extern void xor_niagara_3(unsigned long, unsigned long *, unsigned long *,
|
||||
unsigned long *);
|
||||
extern void xor_niagara_4(unsigned long, unsigned long *, unsigned long *,
|
||||
unsigned long *, unsigned long *);
|
||||
extern void xor_niagara_5(unsigned long, unsigned long *, unsigned long *,
|
||||
unsigned long *, unsigned long *, unsigned long *);
|
||||
|
||||
/* Per-CPU information table */
|
||||
EXPORT_PER_CPU_SYMBOL(__cpu_data);
|
||||
|
||||
/* used by various drivers */
|
||||
#ifdef CONFIG_SMP
|
||||
/* Out of line rw-locking implementation. */
|
||||
|
@ -103,68 +33,24 @@ EXPORT_SYMBOL(__write_unlock);
|
|||
EXPORT_SYMBOL(__write_trylock);
|
||||
#endif /* CONFIG_SMP */
|
||||
|
||||
#ifdef CONFIG_MCOUNT
|
||||
EXPORT_SYMBOL(_mcount);
|
||||
#endif
|
||||
|
||||
EXPORT_SYMBOL(sparc64_get_clock_tick);
|
||||
|
||||
/* RW semaphores */
|
||||
EXPORT_SYMBOL(__down_read);
|
||||
EXPORT_SYMBOL(__down_read_trylock);
|
||||
EXPORT_SYMBOL(__down_write);
|
||||
EXPORT_SYMBOL(__down_write_trylock);
|
||||
EXPORT_SYMBOL(__up_read);
|
||||
EXPORT_SYMBOL(__up_write);
|
||||
EXPORT_SYMBOL(__downgrade_write);
|
||||
|
||||
/* Atomic counter implementation. */
|
||||
EXPORT_SYMBOL(atomic_add);
|
||||
EXPORT_SYMBOL(atomic_add_ret);
|
||||
EXPORT_SYMBOL(atomic_sub);
|
||||
EXPORT_SYMBOL(atomic_sub_ret);
|
||||
EXPORT_SYMBOL(atomic64_add);
|
||||
EXPORT_SYMBOL(atomic64_add_ret);
|
||||
EXPORT_SYMBOL(atomic64_sub);
|
||||
EXPORT_SYMBOL(atomic64_sub_ret);
|
||||
|
||||
/* Atomic bit operations. */
|
||||
EXPORT_SYMBOL(test_and_set_bit);
|
||||
EXPORT_SYMBOL(test_and_clear_bit);
|
||||
EXPORT_SYMBOL(test_and_change_bit);
|
||||
EXPORT_SYMBOL(set_bit);
|
||||
EXPORT_SYMBOL(clear_bit);
|
||||
EXPORT_SYMBOL(change_bit);
|
||||
|
||||
/* from helpers.S */
|
||||
EXPORT_SYMBOL(__flushw_user);
|
||||
EXPORT_SYMBOL_GPL(real_hard_smp_processor_id);
|
||||
|
||||
/* from head_64.S */
|
||||
EXPORT_SYMBOL(__ret_efault);
|
||||
EXPORT_SYMBOL(tlb_type);
|
||||
EXPORT_SYMBOL(sun4v_chip_type);
|
||||
EXPORT_SYMBOL(get_fb_unmapped_area);
|
||||
EXPORT_SYMBOL(flush_icache_range);
|
||||
|
||||
EXPORT_SYMBOL(flush_dcache_page);
|
||||
#ifdef DCACHE_ALIASING_POSSIBLE
|
||||
EXPORT_SYMBOL(__flush_dcache_range);
|
||||
#endif
|
||||
EXPORT_SYMBOL(prom_root_node);
|
||||
|
||||
/* from hvcalls.S */
|
||||
EXPORT_SYMBOL(sun4v_niagara_getperf);
|
||||
EXPORT_SYMBOL(sun4v_niagara_setperf);
|
||||
EXPORT_SYMBOL(sun4v_niagara2_getperf);
|
||||
EXPORT_SYMBOL(sun4v_niagara2_setperf);
|
||||
|
||||
EXPORT_SYMBOL(auxio_set_led);
|
||||
EXPORT_SYMBOL(auxio_set_lte);
|
||||
#ifdef CONFIG_SBUS
|
||||
EXPORT_SYMBOL(sbus_set_sbus64);
|
||||
#endif
|
||||
EXPORT_SYMBOL(outsb);
|
||||
EXPORT_SYMBOL(outsw);
|
||||
EXPORT_SYMBOL(outsl);
|
||||
EXPORT_SYMBOL(insb);
|
||||
EXPORT_SYMBOL(insw);
|
||||
EXPORT_SYMBOL(insl);
|
||||
#ifdef CONFIG_PCI
|
||||
/* inline functions in asm/pci_64.h */
|
||||
EXPORT_SYMBOL(pci_alloc_consistent);
|
||||
EXPORT_SYMBOL(pci_free_consistent);
|
||||
EXPORT_SYMBOL(pci_map_single);
|
||||
|
@ -173,112 +59,7 @@ EXPORT_SYMBOL(pci_map_sg);
|
|||
EXPORT_SYMBOL(pci_unmap_sg);
|
||||
EXPORT_SYMBOL(pci_dma_sync_single_for_cpu);
|
||||
EXPORT_SYMBOL(pci_dma_sync_sg_for_cpu);
|
||||
EXPORT_SYMBOL(pci_dma_supported);
|
||||
#endif
|
||||
|
||||
/* I/O device mmaping on Sparc64. */
|
||||
EXPORT_SYMBOL(io_remap_pfn_range);
|
||||
|
||||
EXPORT_SYMBOL(dump_fpu);
|
||||
|
||||
/* math-emu wants this */
|
||||
EXPORT_SYMBOL(die_if_kernel);
|
||||
|
||||
/* Kernel thread creation. */
|
||||
EXPORT_SYMBOL(kernel_thread);
|
||||
|
||||
/* prom symbols */
|
||||
EXPORT_SYMBOL(idprom);
|
||||
EXPORT_SYMBOL(prom_root_node);
|
||||
EXPORT_SYMBOL(prom_getchild);
|
||||
EXPORT_SYMBOL(prom_getsibling);
|
||||
EXPORT_SYMBOL(prom_searchsiblings);
|
||||
EXPORT_SYMBOL(prom_firstprop);
|
||||
EXPORT_SYMBOL(prom_nextprop);
|
||||
EXPORT_SYMBOL(prom_getproplen);
|
||||
EXPORT_SYMBOL(prom_getproperty);
|
||||
EXPORT_SYMBOL(prom_node_has_property);
|
||||
EXPORT_SYMBOL(prom_setprop);
|
||||
/* Exporting a symbol from /init/main.c */
|
||||
EXPORT_SYMBOL(saved_command_line);
|
||||
EXPORT_SYMBOL(prom_finddevice);
|
||||
EXPORT_SYMBOL(prom_feval);
|
||||
EXPORT_SYMBOL(prom_getbool);
|
||||
EXPORT_SYMBOL(prom_getstring);
|
||||
EXPORT_SYMBOL(prom_getint);
|
||||
EXPORT_SYMBOL(prom_getintdefault);
|
||||
EXPORT_SYMBOL(__prom_getchild);
|
||||
EXPORT_SYMBOL(__prom_getsibling);
|
||||
|
||||
/* sparc library symbols */
|
||||
EXPORT_SYMBOL(strlen);
|
||||
EXPORT_SYMBOL(__strlen_user);
|
||||
EXPORT_SYMBOL(__strnlen_user);
|
||||
|
||||
/* Special internal versions of library functions. */
|
||||
EXPORT_SYMBOL(_clear_page);
|
||||
EXPORT_SYMBOL(clear_user_page);
|
||||
EXPORT_SYMBOL(copy_user_page);
|
||||
EXPORT_SYMBOL(__bzero);
|
||||
EXPORT_SYMBOL(__memscan_zero);
|
||||
EXPORT_SYMBOL(__memscan_generic);
|
||||
EXPORT_SYMBOL(__memset);
|
||||
|
||||
EXPORT_SYMBOL(csum_partial);
|
||||
EXPORT_SYMBOL(csum_partial_copy_nocheck);
|
||||
EXPORT_SYMBOL(__csum_partial_copy_from_user);
|
||||
EXPORT_SYMBOL(__csum_partial_copy_to_user);
|
||||
EXPORT_SYMBOL(ip_fast_csum);
|
||||
|
||||
/* Moving data to/from/in userspace. */
|
||||
EXPORT_SYMBOL(___copy_to_user);
|
||||
EXPORT_SYMBOL(___copy_from_user);
|
||||
EXPORT_SYMBOL(___copy_in_user);
|
||||
EXPORT_SYMBOL(copy_to_user_fixup);
|
||||
EXPORT_SYMBOL(copy_from_user_fixup);
|
||||
EXPORT_SYMBOL(copy_in_user_fixup);
|
||||
EXPORT_SYMBOL(__strncpy_from_user);
|
||||
EXPORT_SYMBOL(__clear_user);
|
||||
|
||||
/* Various address conversion macros use this. */
|
||||
EXPORT_SYMBOL(sparc64_valid_addr_bitmap);
|
||||
|
||||
/* No version information on this, heavily used in inline asm,
|
||||
* and will always be 'void __ret_efault(void)'.
|
||||
*/
|
||||
EXPORT_SYMBOL(__ret_efault);
|
||||
|
||||
/* No version information on these, as gcc produces such symbols. */
|
||||
EXPORT_SYMBOL(memcmp);
|
||||
EXPORT_SYMBOL(memcpy);
|
||||
EXPORT_SYMBOL(memset);
|
||||
EXPORT_SYMBOL(memmove);
|
||||
EXPORT_SYMBOL(strncmp);
|
||||
|
||||
void VISenter(void);
|
||||
/* RAID code needs this */
|
||||
EXPORT_SYMBOL(VISenter);
|
||||
|
||||
/* for input/keybdev */
|
||||
EXPORT_SYMBOL(sun_do_break);
|
||||
EXPORT_SYMBOL(stop_a_enabled);
|
||||
|
||||
#ifdef CONFIG_DEBUG_BUGVERBOSE
|
||||
EXPORT_SYMBOL(do_BUG);
|
||||
#endif
|
||||
|
||||
/* for ns8703 */
|
||||
EXPORT_SYMBOL(ns87303_lock);
|
||||
|
||||
EXPORT_SYMBOL(tick_ops);
|
||||
|
||||
EXPORT_SYMBOL(xor_vis_2);
|
||||
EXPORT_SYMBOL(xor_vis_3);
|
||||
EXPORT_SYMBOL(xor_vis_4);
|
||||
EXPORT_SYMBOL(xor_vis_5);
|
||||
|
||||
EXPORT_SYMBOL(xor_niagara_2);
|
||||
EXPORT_SYMBOL(xor_niagara_3);
|
||||
EXPORT_SYMBOL(xor_niagara_4);
|
||||
EXPORT_SYMBOL(xor_niagara_5);
|
||||
|
||||
EXPORT_SYMBOL_GPL(real_hard_smp_processor_id);
|
||||
|
|
|
@ -60,7 +60,7 @@ extern int __smp4d_processor_id(void);
|
|||
#define SMP_PRINTK(x)
|
||||
#endif
|
||||
|
||||
static inline unsigned long swap(volatile unsigned long *ptr, unsigned long val)
|
||||
static inline unsigned long sun4d_swap(volatile unsigned long *ptr, unsigned long val)
|
||||
{
|
||||
__asm__ __volatile__("swap [%1], %0\n\t" :
|
||||
"=&r" (val), "=&r" (ptr) :
|
||||
|
@ -115,7 +115,7 @@ void __cpuinit smp4d_callin(void)
|
|||
local_flush_tlb_all();
|
||||
|
||||
/* Allow master to continue. */
|
||||
swap((unsigned long *)&cpu_callin_map[cpuid], 1);
|
||||
sun4d_swap((unsigned long *)&cpu_callin_map[cpuid], 1);
|
||||
local_flush_cache_all();
|
||||
local_flush_tlb_all();
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include <linux/ipc.h>
|
||||
#include <linux/personality.h>
|
||||
#include <linux/random.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/utrap.h>
|
||||
|
@ -354,6 +355,7 @@ unsigned long get_fb_unmapped_area(struct file *filp, unsigned long orig_addr, u
|
|||
|
||||
return addr;
|
||||
}
|
||||
EXPORT_SYMBOL(get_fb_unmapped_area);
|
||||
|
||||
/* Essentially the same as PowerPC... */
|
||||
void arch_pick_mmap_layout(struct mm_struct *mm)
|
||||
|
|
|
@ -48,6 +48,8 @@
|
|||
#include "irq.h"
|
||||
|
||||
DEFINE_SPINLOCK(rtc_lock);
|
||||
EXPORT_SYMBOL(rtc_lock);
|
||||
|
||||
static int set_rtc_mmss(unsigned long);
|
||||
static int sbus_do_settimeofday(struct timespec *tv);
|
||||
|
||||
|
|
|
@ -176,6 +176,7 @@ static struct sparc64_tick_ops tick_operations __read_mostly = {
|
|||
};
|
||||
|
||||
struct sparc64_tick_ops *tick_ops __read_mostly = &tick_operations;
|
||||
EXPORT_SYMBOL(tick_ops);
|
||||
|
||||
static void stick_disable_irq(void)
|
||||
{
|
||||
|
@ -639,6 +640,7 @@ unsigned long sparc64_get_clock_tick(unsigned int cpu)
|
|||
return ft->clock_tick_ref;
|
||||
return cpu_data(cpu).clock_tick;
|
||||
}
|
||||
EXPORT_SYMBOL(sparc64_get_clock_tick);
|
||||
|
||||
#ifdef CONFIG_CPU_FREQ
|
||||
|
||||
|
|
|
@ -424,6 +424,7 @@ void do_BUG(const char *file, int line)
|
|||
// bust_spinlocks(1); XXX Not in our original BUG()
|
||||
printk("kernel BUG at %s:%d!\n", file, line);
|
||||
}
|
||||
EXPORT_SYMBOL(do_BUG);
|
||||
#endif
|
||||
|
||||
/* Since we have our mappings set up, on multiprocessors we can spin them
|
||||
|
|
|
@ -128,6 +128,7 @@ void do_BUG(const char *file, int line)
|
|||
bust_spinlocks(1);
|
||||
printk("kernel BUG at %s:%d!\n", file, line);
|
||||
}
|
||||
EXPORT_SYMBOL(do_BUG);
|
||||
#endif
|
||||
|
||||
static DEFINE_SPINLOCK(dimm_handler_lock);
|
||||
|
@ -2261,6 +2262,7 @@ void die_if_kernel(char *str, struct pt_regs *regs)
|
|||
do_exit(SIGKILL);
|
||||
do_exit(SIGSEGV);
|
||||
}
|
||||
EXPORT_SYMBOL(die_if_kernel);
|
||||
|
||||
#define VIS_OPCODE_MASK ((0x3 << 30) | (0x3f << 19))
|
||||
#define VIS_OPCODE_VAL ((0x2 << 30) | (0x36 << 19))
|
||||
|
|
|
@ -589,7 +589,6 @@ void handle_lddfmna(struct pt_regs *regs, unsigned long sfar, unsigned long sfsr
|
|||
unsigned long pc = regs->tpc;
|
||||
unsigned long tstate = regs->tstate;
|
||||
u32 insn;
|
||||
u32 first, second;
|
||||
u64 value;
|
||||
u8 freg;
|
||||
int flag;
|
||||
|
@ -601,19 +600,20 @@ void handle_lddfmna(struct pt_regs *regs, unsigned long sfar, unsigned long sfsr
|
|||
pc = (u32)pc;
|
||||
if (get_user(insn, (u32 __user *) pc) != -EFAULT) {
|
||||
int asi = decode_asi(insn, regs);
|
||||
u32 first, second;
|
||||
int err;
|
||||
|
||||
if ((asi > ASI_SNFL) ||
|
||||
(asi < ASI_P))
|
||||
goto daex;
|
||||
first = second = 0;
|
||||
err = get_user(first, (u32 __user *)sfar);
|
||||
if (!err)
|
||||
err = get_user(second, (u32 __user *)(sfar + 4));
|
||||
if (err) {
|
||||
if (asi & 0x2) /* NF */ {
|
||||
first = 0; second = 0;
|
||||
} else
|
||||
if (!(asi & 0x2))
|
||||
goto daex;
|
||||
first = second = 0;
|
||||
}
|
||||
save_and_clear_fpu();
|
||||
freg = ((insn >> 25) & 0x1e) | ((insn >> 20) & 0x20);
|
||||
|
|
|
@ -42,3 +42,4 @@ lib-$(CONFIG_SPARC64) += mcount.o ipcsum.o xor.o
|
|||
|
||||
obj-y += iomap.o
|
||||
obj-$(CONFIG_SPARC32) += atomic32.o
|
||||
obj-y += ksyms.o
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
* Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
|
@ -15,6 +17,7 @@ void outsb(unsigned long __addr, const void *src, unsigned long count)
|
|||
while (count--)
|
||||
outb(*p++, addr);
|
||||
}
|
||||
EXPORT_SYMBOL(outsb);
|
||||
|
||||
void outsw(unsigned long __addr, const void *src, unsigned long count)
|
||||
{
|
||||
|
@ -25,6 +28,7 @@ void outsw(unsigned long __addr, const void *src, unsigned long count)
|
|||
src += sizeof(u16);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(outsw);
|
||||
|
||||
void outsl(unsigned long __addr, const void *src, unsigned long count)
|
||||
{
|
||||
|
@ -78,6 +82,7 @@ void outsl(unsigned long __addr, const void *src, unsigned long count)
|
|||
break;
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(outsl);
|
||||
|
||||
void insb(unsigned long __addr, void *dst, unsigned long count)
|
||||
{
|
||||
|
@ -105,6 +110,7 @@ void insb(unsigned long __addr, void *dst, unsigned long count)
|
|||
*pb++ = inb(addr);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(insb);
|
||||
|
||||
void insw(unsigned long __addr, void *dst, unsigned long count)
|
||||
{
|
||||
|
@ -132,6 +138,7 @@ void insw(unsigned long __addr, void *dst, unsigned long count)
|
|||
*ps = le16_to_cpu(inw(addr));
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(insw);
|
||||
|
||||
void insl(unsigned long __addr, void *dst, unsigned long count)
|
||||
{
|
||||
|
@ -200,4 +207,5 @@ void insl(unsigned long __addr, void *dst, unsigned long count)
|
|||
}
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(insl);
|
||||
|
||||
|
|
196
arch/sparc/lib/ksyms.c
Normal file
196
arch/sparc/lib/ksyms.c
Normal file
|
@ -0,0 +1,196 @@
|
|||
/*
|
||||
* Export of symbols defined in assembler
|
||||
*/
|
||||
|
||||
/* Tell string.h we don't want memcpy etc. as cpp defines */
|
||||
#define EXPORT_SYMTAB_STROPS
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#include <asm/checksum.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/ftrace.h>
|
||||
|
||||
/* string functions */
|
||||
EXPORT_SYMBOL(strlen);
|
||||
EXPORT_SYMBOL(__strlen_user);
|
||||
EXPORT_SYMBOL(__strnlen_user);
|
||||
EXPORT_SYMBOL(strncmp);
|
||||
|
||||
/* mem* functions */
|
||||
extern void *__memscan_zero(void *, size_t);
|
||||
extern void *__memscan_generic(void *, int, size_t);
|
||||
extern void *__bzero(void *, size_t);
|
||||
|
||||
EXPORT_SYMBOL(memscan);
|
||||
EXPORT_SYMBOL(__memscan_zero);
|
||||
EXPORT_SYMBOL(__memscan_generic);
|
||||
EXPORT_SYMBOL(memcmp);
|
||||
EXPORT_SYMBOL(memcpy);
|
||||
EXPORT_SYMBOL(memset);
|
||||
EXPORT_SYMBOL(__memset);
|
||||
EXPORT_SYMBOL(memmove);
|
||||
EXPORT_SYMBOL(__bzero);
|
||||
|
||||
/* Moving data to/from/in userspace. */
|
||||
EXPORT_SYMBOL(__strncpy_from_user);
|
||||
|
||||
/* Networking helper routines. */
|
||||
EXPORT_SYMBOL(csum_partial);
|
||||
|
||||
#ifdef CONFIG_MCOUNT
|
||||
EXPORT_SYMBOL(_mcount);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* sparc
|
||||
*/
|
||||
#ifdef CONFIG_SPARC32
|
||||
extern int __ashrdi3(int, int);
|
||||
extern int __ashldi3(int, int);
|
||||
extern int __lshrdi3(int, int);
|
||||
extern int __muldi3(int, int);
|
||||
extern int __divdi3(int, int);
|
||||
|
||||
extern void (*__copy_1page)(void *, const void *);
|
||||
extern void (*bzero_1page)(void *);
|
||||
|
||||
extern int __strncmp(const char *, const char *, __kernel_size_t);
|
||||
|
||||
extern void ___rw_read_enter(void);
|
||||
extern void ___rw_read_try(void);
|
||||
extern void ___rw_read_exit(void);
|
||||
extern void ___rw_write_enter(void);
|
||||
extern void ___atomic24_add(void);
|
||||
extern void ___atomic24_sub(void);
|
||||
|
||||
/* Alias functions whose names begin with "." and export the aliases.
|
||||
* The module references will be fixed up by module_frob_arch_sections.
|
||||
*/
|
||||
extern int _Div(int, int);
|
||||
extern int _Mul(int, int);
|
||||
extern int _Rem(int, int);
|
||||
extern unsigned _Udiv(unsigned, unsigned);
|
||||
extern unsigned _Umul(unsigned, unsigned);
|
||||
extern unsigned _Urem(unsigned, unsigned);
|
||||
|
||||
/* Networking helper routines. */
|
||||
EXPORT_SYMBOL(__csum_partial_copy_sparc_generic);
|
||||
|
||||
/* Special internal versions of library functions. */
|
||||
EXPORT_SYMBOL(__copy_1page);
|
||||
EXPORT_SYMBOL(__memcpy);
|
||||
EXPORT_SYMBOL(__memmove);
|
||||
EXPORT_SYMBOL(bzero_1page);
|
||||
|
||||
/* string functions */
|
||||
EXPORT_SYMBOL(__strncmp);
|
||||
|
||||
/* Moving data to/from/in userspace. */
|
||||
EXPORT_SYMBOL(__copy_user);
|
||||
|
||||
/* Used by asm/spinlock.h */
|
||||
#ifdef CONFIG_SMP
|
||||
EXPORT_SYMBOL(___rw_read_enter);
|
||||
EXPORT_SYMBOL(___rw_read_try);
|
||||
EXPORT_SYMBOL(___rw_read_exit);
|
||||
EXPORT_SYMBOL(___rw_write_enter);
|
||||
#endif
|
||||
|
||||
/* Atomic operations. */
|
||||
EXPORT_SYMBOL(___atomic24_add);
|
||||
EXPORT_SYMBOL(___atomic24_sub);
|
||||
|
||||
EXPORT_SYMBOL(__ashrdi3);
|
||||
EXPORT_SYMBOL(__ashldi3);
|
||||
EXPORT_SYMBOL(__lshrdi3);
|
||||
EXPORT_SYMBOL(__muldi3);
|
||||
EXPORT_SYMBOL(__divdi3);
|
||||
|
||||
EXPORT_SYMBOL(_Rem);
|
||||
EXPORT_SYMBOL(_Urem);
|
||||
EXPORT_SYMBOL(_Mul);
|
||||
EXPORT_SYMBOL(_Umul);
|
||||
EXPORT_SYMBOL(_Div);
|
||||
EXPORT_SYMBOL(_Udiv);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* sparc64
|
||||
*/
|
||||
#ifdef CONFIG_SPARC64
|
||||
/* Networking helper routines. */
|
||||
EXPORT_SYMBOL(csum_partial_copy_nocheck);
|
||||
EXPORT_SYMBOL(__csum_partial_copy_from_user);
|
||||
EXPORT_SYMBOL(__csum_partial_copy_to_user);
|
||||
EXPORT_SYMBOL(ip_fast_csum);
|
||||
|
||||
/* Moving data to/from/in userspace. */
|
||||
EXPORT_SYMBOL(___copy_to_user);
|
||||
EXPORT_SYMBOL(___copy_from_user);
|
||||
EXPORT_SYMBOL(___copy_in_user);
|
||||
EXPORT_SYMBOL(__clear_user);
|
||||
|
||||
/* RW semaphores */
|
||||
EXPORT_SYMBOL(__down_read);
|
||||
EXPORT_SYMBOL(__down_read_trylock);
|
||||
EXPORT_SYMBOL(__down_write);
|
||||
EXPORT_SYMBOL(__down_write_trylock);
|
||||
EXPORT_SYMBOL(__up_read);
|
||||
EXPORT_SYMBOL(__up_write);
|
||||
EXPORT_SYMBOL(__downgrade_write);
|
||||
|
||||
/* Atomic counter implementation. */
|
||||
EXPORT_SYMBOL(atomic_add);
|
||||
EXPORT_SYMBOL(atomic_add_ret);
|
||||
EXPORT_SYMBOL(atomic_sub);
|
||||
EXPORT_SYMBOL(atomic_sub_ret);
|
||||
EXPORT_SYMBOL(atomic64_add);
|
||||
EXPORT_SYMBOL(atomic64_add_ret);
|
||||
EXPORT_SYMBOL(atomic64_sub);
|
||||
EXPORT_SYMBOL(atomic64_sub_ret);
|
||||
|
||||
/* Atomic bit operations. */
|
||||
EXPORT_SYMBOL(test_and_set_bit);
|
||||
EXPORT_SYMBOL(test_and_clear_bit);
|
||||
EXPORT_SYMBOL(test_and_change_bit);
|
||||
EXPORT_SYMBOL(set_bit);
|
||||
EXPORT_SYMBOL(clear_bit);
|
||||
EXPORT_SYMBOL(change_bit);
|
||||
|
||||
/* Special internal versions of library functions. */
|
||||
EXPORT_SYMBOL(_clear_page);
|
||||
EXPORT_SYMBOL(clear_user_page);
|
||||
EXPORT_SYMBOL(copy_user_page);
|
||||
|
||||
/* RAID code needs this */
|
||||
void VISenter(void);
|
||||
EXPORT_SYMBOL(VISenter);
|
||||
|
||||
extern void xor_vis_2(unsigned long, unsigned long *, unsigned long *);
|
||||
extern void xor_vis_3(unsigned long, unsigned long *, unsigned long *,
|
||||
unsigned long *);
|
||||
extern void xor_vis_4(unsigned long, unsigned long *, unsigned long *,
|
||||
unsigned long *, unsigned long *);
|
||||
extern void xor_vis_5(unsigned long, unsigned long *, unsigned long *,
|
||||
unsigned long *, unsigned long *, unsigned long *);
|
||||
EXPORT_SYMBOL(xor_vis_2);
|
||||
EXPORT_SYMBOL(xor_vis_3);
|
||||
EXPORT_SYMBOL(xor_vis_4);
|
||||
EXPORT_SYMBOL(xor_vis_5);
|
||||
|
||||
extern void xor_niagara_2(unsigned long, unsigned long *, unsigned long *);
|
||||
extern void xor_niagara_3(unsigned long, unsigned long *, unsigned long *,
|
||||
unsigned long *);
|
||||
extern void xor_niagara_4(unsigned long, unsigned long *, unsigned long *,
|
||||
unsigned long *, unsigned long *);
|
||||
extern void xor_niagara_5(unsigned long, unsigned long *, unsigned long *,
|
||||
unsigned long *, unsigned long *, unsigned long *);
|
||||
|
||||
EXPORT_SYMBOL(xor_niagara_2);
|
||||
EXPORT_SYMBOL(xor_niagara_3);
|
||||
EXPORT_SYMBOL(xor_niagara_4);
|
||||
EXPORT_SYMBOL(xor_niagara_5);
|
||||
#endif
|
|
@ -7,6 +7,8 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
#include <asm/uaccess.h>
|
||||
|
||||
/* Calculating the exact fault address when using
|
||||
|
@ -40,6 +42,7 @@ unsigned long copy_from_user_fixup(void *to, const void __user *from, unsigned l
|
|||
|
||||
return size;
|
||||
}
|
||||
EXPORT_SYMBOL(copy_from_user_fixup);
|
||||
|
||||
unsigned long copy_to_user_fixup(void __user *to, const void *from, unsigned long size)
|
||||
{
|
||||
|
@ -47,6 +50,7 @@ unsigned long copy_to_user_fixup(void __user *to, const void *from, unsigned lon
|
|||
|
||||
return compute_size((unsigned long) to, size, &offset);
|
||||
}
|
||||
EXPORT_SYMBOL(copy_to_user_fixup);
|
||||
|
||||
unsigned long copy_in_user_fixup(void __user *to, void __user *from, unsigned long size)
|
||||
{
|
||||
|
@ -64,3 +68,4 @@ unsigned long copy_in_user_fixup(void __user *to, void __user *from, unsigned lo
|
|||
|
||||
return size;
|
||||
}
|
||||
EXPORT_SYMBOL(copy_in_user_fixup);
|
||||
|
|
|
@ -95,3 +95,4 @@ int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from,
|
|||
flush_tlb_range(vma, beg, end);
|
||||
return error;
|
||||
}
|
||||
EXPORT_SYMBOL(io_remap_pfn_range);
|
||||
|
|
|
@ -161,3 +161,4 @@ int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from,
|
|||
flush_tlb_range(vma, beg, end);
|
||||
return error;
|
||||
}
|
||||
EXPORT_SYMBOL(io_remap_pfn_range);
|
||||
|
|
|
@ -62,6 +62,7 @@ void *kmap_atomic(struct page *page, enum km_type type)
|
|||
|
||||
return (void*) vaddr;
|
||||
}
|
||||
EXPORT_SYMBOL(kmap_atomic);
|
||||
|
||||
void kunmap_atomic(void *kvaddr, enum km_type type)
|
||||
{
|
||||
|
@ -98,6 +99,7 @@ void kunmap_atomic(void *kvaddr, enum km_type type)
|
|||
|
||||
pagefault_enable();
|
||||
}
|
||||
EXPORT_SYMBOL(kunmap_atomic);
|
||||
|
||||
/* We may be fed a pagetable here by ptep_to_xxx and others. */
|
||||
struct page *kmap_atomic_to_page(void *ptr)
|
||||
|
|
|
@ -38,11 +38,16 @@
|
|||
DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
|
||||
|
||||
unsigned long *sparc_valid_addr_bitmap;
|
||||
EXPORT_SYMBOL(sparc_valid_addr_bitmap);
|
||||
|
||||
unsigned long phys_base;
|
||||
EXPORT_SYMBOL(phys_base);
|
||||
|
||||
unsigned long pfn_base;
|
||||
EXPORT_SYMBOL(pfn_base);
|
||||
|
||||
unsigned long page_kernel;
|
||||
EXPORT_SYMBOL(page_kernel);
|
||||
|
||||
struct sparc_phys_banks sp_banks[SPARC_PHYS_BANKS+1];
|
||||
unsigned long sparc_unmapped_base;
|
||||
|
@ -522,3 +527,4 @@ void sparc_flush_page_to_ram(struct page *page)
|
|||
if (vaddr)
|
||||
__flush_page_to_ram(vaddr);
|
||||
}
|
||||
EXPORT_SYMBOL(sparc_flush_page_to_ram);
|
||||
|
|
|
@ -146,6 +146,7 @@ static void __init read_obp_memory(const char *property,
|
|||
}
|
||||
|
||||
unsigned long *sparc64_valid_addr_bitmap __read_mostly;
|
||||
EXPORT_SYMBOL(sparc64_valid_addr_bitmap);
|
||||
|
||||
/* Kernel physical address base and size in bytes. */
|
||||
unsigned long kern_base __read_mostly;
|
||||
|
@ -369,6 +370,7 @@ void flush_dcache_page(struct page *page)
|
|||
out:
|
||||
put_cpu();
|
||||
}
|
||||
EXPORT_SYMBOL(flush_dcache_page);
|
||||
|
||||
void __kprobes flush_icache_range(unsigned long start, unsigned long end)
|
||||
{
|
||||
|
@ -396,6 +398,7 @@ void __kprobes flush_icache_range(unsigned long start, unsigned long end)
|
|||
}
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(flush_icache_range);
|
||||
|
||||
void mmu_info(struct seq_file *m)
|
||||
{
|
||||
|
@ -599,6 +602,7 @@ void __flush_dcache_range(unsigned long start, unsigned long end)
|
|||
"i" (ASI_DCACHE_INVALIDATE));
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(__flush_dcache_range);
|
||||
|
||||
/* get_new_mmu_context() uses "cache + 1". */
|
||||
DEFINE_SPINLOCK(ctx_alloc_lock);
|
||||
|
|
|
@ -8,16 +8,20 @@
|
|||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
#include <asm/openprom.h>
|
||||
#include <asm/oplib.h>
|
||||
|
||||
struct linux_romvec *romvec;
|
||||
EXPORT_SYMBOL(romvec);
|
||||
|
||||
enum prom_major_version prom_vers;
|
||||
unsigned int prom_rev, prom_prev;
|
||||
|
||||
/* The root node of the prom device tree. */
|
||||
int prom_root_node;
|
||||
EXPORT_SYMBOL(prom_root_node);
|
||||
|
||||
/* Pointer to the device tree operations structure. */
|
||||
struct linux_nodeops *prom_nodeops;
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
#include <asm/openprom.h>
|
||||
#include <asm/oplib.h>
|
||||
#include <asm/auxio.h>
|
||||
|
@ -44,6 +46,7 @@ prom_feval(char *fstring)
|
|||
restore_current();
|
||||
spin_unlock_irqrestore(&prom_lock, flags);
|
||||
}
|
||||
EXPORT_SYMBOL(prom_feval);
|
||||
|
||||
/* Drop into the prom, with the chance to continue with the 'go'
|
||||
* prom command.
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include <linux/sched.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
#include <asm/openprom.h>
|
||||
#include <asm/oplib.h>
|
||||
#include <asm/system.h>
|
||||
|
@ -54,6 +56,7 @@ void prom_feval(const char *fstring)
|
|||
p1275_cmd("interpret", P1275_ARG(0, P1275_ARG_IN_STRING) |
|
||||
P1275_INOUT(1, 1), fstring);
|
||||
}
|
||||
EXPORT_SYMBOL(prom_feval);
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
extern void smp_capture(void);
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
*/
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
#include <asm/openprom.h>
|
||||
#include <asm/oplib.h>
|
||||
#include <asm/types.h>
|
||||
|
@ -62,6 +64,7 @@ prom_apply_obio_ranges(struct linux_prom_registers *regs, int nregs)
|
|||
if(num_obio_ranges)
|
||||
prom_adjust_regs(regs, nregs, promlib_obio_ranges, num_obio_ranges);
|
||||
}
|
||||
EXPORT_SYMBOL(prom_apply_obio_ranges);
|
||||
|
||||
void __init prom_ranges_init(void)
|
||||
{
|
||||
|
|
|
@ -5,13 +5,12 @@
|
|||
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
|
||||
*/
|
||||
|
||||
#define PROMLIB_INTERNAL
|
||||
|
||||
#include <linux/string.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/ctype.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
#include <asm/openprom.h>
|
||||
#include <asm/oplib.h>
|
||||
|
@ -50,6 +49,7 @@ int prom_getchild(int node)
|
|||
|
||||
return cnode;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_getchild);
|
||||
|
||||
/* Internal version of prom_getsibling that does not alter return values. */
|
||||
int __prom_getsibling(int node)
|
||||
|
@ -81,6 +81,7 @@ int prom_getsibling(int node)
|
|||
|
||||
return sibnode;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_getsibling);
|
||||
|
||||
/* Return the length in bytes of property 'prop' at node 'node'.
|
||||
* Return -1 on error.
|
||||
|
@ -99,6 +100,7 @@ int prom_getproplen(int node, const char *prop)
|
|||
spin_unlock_irqrestore(&prom_lock, flags);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_getproplen);
|
||||
|
||||
/* Acquire a property 'prop' at node 'node' and place it in
|
||||
* 'buffer' which has a size of 'bufsize'. If the acquisition
|
||||
|
@ -119,6 +121,7 @@ int prom_getproperty(int node, const char *prop, char *buffer, int bufsize)
|
|||
spin_unlock_irqrestore(&prom_lock, flags);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_getproperty);
|
||||
|
||||
/* Acquire an integer property and return its value. Returns -1
|
||||
* on failure.
|
||||
|
@ -132,6 +135,7 @@ int prom_getint(int node, char *prop)
|
|||
|
||||
return -1;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_getint);
|
||||
|
||||
/* Acquire an integer property, upon error return the passed default
|
||||
* integer.
|
||||
|
@ -145,6 +149,7 @@ int prom_getintdefault(int node, char *property, int deflt)
|
|||
|
||||
return retval;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_getintdefault);
|
||||
|
||||
/* Acquire a boolean property, 1=TRUE 0=FALSE. */
|
||||
int prom_getbool(int node, char *prop)
|
||||
|
@ -155,6 +160,7 @@ int prom_getbool(int node, char *prop)
|
|||
if(retval == -1) return 0;
|
||||
return 1;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_getbool);
|
||||
|
||||
/* Acquire a property whose value is a string, returns a null
|
||||
* string on error. The char pointer is the user supplied string
|
||||
|
@ -169,6 +175,7 @@ void prom_getstring(int node, char *prop, char *user_buf, int ubuf_size)
|
|||
user_buf[0] = 0;
|
||||
return;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_getstring);
|
||||
|
||||
|
||||
/* Does the device at node 'node' have name 'name'?
|
||||
|
@ -204,6 +211,7 @@ int prom_searchsiblings(int node_start, char *nodename)
|
|||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_searchsiblings);
|
||||
|
||||
/* Interal version of nextprop that does not alter return values. */
|
||||
char * __prom_nextprop(int node, char * oprop)
|
||||
|
@ -228,6 +236,7 @@ char * prom_firstprop(int node, char *bufer)
|
|||
|
||||
return __prom_nextprop(node, "");
|
||||
}
|
||||
EXPORT_SYMBOL(prom_firstprop);
|
||||
|
||||
/* Return the property type string after property type 'oprop'
|
||||
* at node 'node' . Returns empty string if no more
|
||||
|
@ -240,6 +249,7 @@ char * prom_nextprop(int node, char *oprop, char *buffer)
|
|||
|
||||
return __prom_nextprop(node, oprop);
|
||||
}
|
||||
EXPORT_SYMBOL(prom_nextprop);
|
||||
|
||||
int prom_finddevice(char *name)
|
||||
{
|
||||
|
@ -287,6 +297,7 @@ int prom_finddevice(char *name)
|
|||
}
|
||||
return node;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_finddevice);
|
||||
|
||||
int prom_node_has_property(int node, char *prop)
|
||||
{
|
||||
|
@ -299,6 +310,7 @@ int prom_node_has_property(int node, char *prop)
|
|||
} while (*current_property);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_node_has_property);
|
||||
|
||||
/* Set property 'pname' at node 'node' to value 'value' which has a length
|
||||
* of 'size' bytes. Return the number of bytes the prom accepted.
|
||||
|
@ -316,6 +328,7 @@ int prom_setprop(int node, const char *pname, char *value, int size)
|
|||
spin_unlock_irqrestore(&prom_lock, flags);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_setprop);
|
||||
|
||||
int prom_inst2pkg(int inst)
|
||||
{
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
#include <asm/openprom.h>
|
||||
#include <asm/oplib.h>
|
||||
|
@ -32,6 +33,7 @@ inline int prom_getchild(int node)
|
|||
if(cnode == -1) return 0;
|
||||
return (int)cnode;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_getchild);
|
||||
|
||||
inline int prom_getparent(int node)
|
||||
{
|
||||
|
@ -63,6 +65,7 @@ inline int prom_getsibling(int node)
|
|||
|
||||
return sibnode;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_getsibling);
|
||||
|
||||
/* Return the length in bytes of property 'prop' at node 'node'.
|
||||
* Return -1 on error.
|
||||
|
@ -75,6 +78,7 @@ inline int prom_getproplen(int node, const char *prop)
|
|||
P1275_INOUT(2, 1),
|
||||
node, prop);
|
||||
}
|
||||
EXPORT_SYMBOL(prom_getproplen);
|
||||
|
||||
/* Acquire a property 'prop' at node 'node' and place it in
|
||||
* 'buffer' which has a size of 'bufsize'. If the acquisition
|
||||
|
@ -97,6 +101,7 @@ inline int prom_getproperty(int node, const char *prop,
|
|||
node, prop, buffer, P1275_SIZE(plen));
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(prom_getproperty);
|
||||
|
||||
/* Acquire an integer property and return its value. Returns -1
|
||||
* on failure.
|
||||
|
@ -110,6 +115,7 @@ inline int prom_getint(int node, const char *prop)
|
|||
|
||||
return -1;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_getint);
|
||||
|
||||
/* Acquire an integer property, upon error return the passed default
|
||||
* integer.
|
||||
|
@ -124,6 +130,7 @@ int prom_getintdefault(int node, const char *property, int deflt)
|
|||
|
||||
return retval;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_getintdefault);
|
||||
|
||||
/* Acquire a boolean property, 1=TRUE 0=FALSE. */
|
||||
int prom_getbool(int node, const char *prop)
|
||||
|
@ -134,6 +141,7 @@ int prom_getbool(int node, const char *prop)
|
|||
if(retval == -1) return 0;
|
||||
return 1;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_getbool);
|
||||
|
||||
/* Acquire a property whose value is a string, returns a null
|
||||
* string on error. The char pointer is the user supplied string
|
||||
|
@ -148,7 +156,7 @@ void prom_getstring(int node, const char *prop, char *user_buf, int ubuf_size)
|
|||
user_buf[0] = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(prom_getstring);
|
||||
|
||||
/* Does the device at node 'node' have name 'name'?
|
||||
* YES = 1 NO = 0
|
||||
|
@ -181,6 +189,7 @@ int prom_searchsiblings(int node_start, const char *nodename)
|
|||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_searchsiblings);
|
||||
|
||||
/* Return the first property type for node 'node'.
|
||||
* buffer should be at least 32B in length
|
||||
|
@ -194,6 +203,7 @@ inline char *prom_firstprop(int node, char *buffer)
|
|||
node, (char *) 0x0, buffer);
|
||||
return buffer;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_firstprop);
|
||||
|
||||
/* Return the property type string after property type 'oprop'
|
||||
* at node 'node' . Returns NULL string if no more
|
||||
|
@ -217,6 +227,7 @@ inline char *prom_nextprop(int node, const char *oprop, char *buffer)
|
|||
node, oprop, buffer);
|
||||
return buffer;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_nextprop);
|
||||
|
||||
int
|
||||
prom_finddevice(const char *name)
|
||||
|
@ -228,6 +239,7 @@ prom_finddevice(const char *name)
|
|||
P1275_INOUT(1, 1),
|
||||
name);
|
||||
}
|
||||
EXPORT_SYMBOL(prom_finddevice);
|
||||
|
||||
int prom_node_has_property(int node, const char *prop)
|
||||
{
|
||||
|
@ -241,7 +253,8 @@ int prom_node_has_property(int node, const char *prop)
|
|||
} while (*buf);
|
||||
return 0;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(prom_node_has_property);
|
||||
|
||||
/* Set property 'pname' at node 'node' to value 'value' which has a length
|
||||
* of 'size' bytes. Return the number of bytes the prom accepted.
|
||||
*/
|
||||
|
@ -264,6 +277,7 @@ prom_setprop(int node, const char *pname, char *value, int size)
|
|||
P1275_INOUT(4, 1),
|
||||
node, pname, value, P1275_SIZE(size));
|
||||
}
|
||||
EXPORT_SYMBOL(prom_setprop);
|
||||
|
||||
inline int prom_inst2pkg(int inst)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue