Commit 54c26687 authored by Linus Torvalds's avatar Linus Torvalds

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
parents ddb4a9dd fc4dbea7
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Linux kernel version: 2.6.25 # Linux kernel version: 2.6.28
# Tue Apr 29 01:28:58 2008 # 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_MMU=y
CONFIG_HIGHMEM=y CONFIG_HIGHMEM=y
CONFIG_ZONE_DMA=y CONFIG_ZONE_DMA=y
CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_ISA_DMA=y
CONFIG_ARCH_NO_VIRT_TO_BUS=y CONFIG_ARCH_NO_VIRT_TO_BUS=y
CONFIG_OF=y CONFIG_OF=y
CONFIG_HZ=100
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
# #
...@@ -66,31 +72,30 @@ CONFIG_SIGNALFD=y ...@@ -66,31 +72,30 @@ CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y CONFIG_TIMERFD=y
CONFIG_EVENTFD=y CONFIG_EVENTFD=y
CONFIG_SHMEM=y CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_VM_EVENT_COUNTERS=y CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLAB=y CONFIG_SLAB=y
# CONFIG_SLUB is not set # CONFIG_SLUB is not set
# CONFIG_SLOB is not set # CONFIG_SLOB is not set
# CONFIG_PROFILING is not set # CONFIG_PROFILING is not set
# CONFIG_MARKERS is not set
CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_OPROFILE=y
# CONFIG_HAVE_KPROBES is not set CONFIG_HAVE_ARCH_TRACEHOOK=y
# CONFIG_HAVE_KRETPROBES is not set # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SLABINFO=y CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0 CONFIG_BASE_SMALL=0
CONFIG_MODULES=y CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set # CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set # CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set # CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_BLOCK=y CONFIG_BLOCK=y
# CONFIG_LBD is not set # CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE 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_BSG is not set
# CONFIG_BLK_DEV_INTEGRITY is not set
# #
# IO Schedulers # IO Schedulers
...@@ -105,59 +110,73 @@ CONFIG_DEFAULT_CFQ=y ...@@ -105,59 +110,73 @@ CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set # CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq" CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_CLASSIC_RCU=y 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_SMP is not set
CONFIG_SPARC=y # CONFIG_HZ_100 is not set
CONFIG_SPARC32=y CONFIG_HZ_250=y
CONFIG_SBUS=y # CONFIG_HZ_300 is not set
CONFIG_SBUSCHAR=y # CONFIG_HZ_1000 is not set
CONFIG_SERIAL_CONSOLE=y CONFIG_HZ=250
CONFIG_SUN_AUXIO=y # CONFIG_SCHED_HRTICK is not set
CONFIG_SUN_IO=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_FIND_NEXT_BIT=y CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=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_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_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set # CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set # CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set CONFIG_PAGEFLAGS_EXTENDED=y
# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
CONFIG_SPLIT_PTLOCK_CPUS=4 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_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y 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 CONFIG_NET=y
# #
# Networking options # Networking options
# #
# CONFIG_NET_NS is not set
CONFIG_COMPAT_NET_DEV_OPS=y
CONFIG_PACKET=y CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set # CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y CONFIG_UNIX=y
...@@ -166,6 +185,7 @@ CONFIG_XFRM_USER=m ...@@ -166,6 +185,7 @@ CONFIG_XFRM_USER=m
# CONFIG_XFRM_SUB_POLICY is not set # CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set # CONFIG_XFRM_MIGRATE is not set
# CONFIG_XFRM_STATISTICS is not set # CONFIG_XFRM_STATISTICS is not set
CONFIG_XFRM_IPCOMP=y
CONFIG_NET_KEY=m CONFIG_NET_KEY=m
# CONFIG_NET_KEY_MIGRATE is not set # CONFIG_NET_KEY_MIGRATE is not set
CONFIG_INET=y CONFIG_INET=y
...@@ -221,6 +241,7 @@ CONFIG_IPV6_TUNNEL=m ...@@ -221,6 +241,7 @@ CONFIG_IPV6_TUNNEL=m
# CONFIG_TIPC is not set # CONFIG_TIPC is not set
# CONFIG_ATM is not set # CONFIG_ATM is not set
# CONFIG_BRIDGE is not set # CONFIG_BRIDGE is not set
# CONFIG_NET_DSA is not set
# CONFIG_VLAN_8021Q is not set # CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set # CONFIG_DECNET is not set
# CONFIG_LLC2 is not set # CONFIG_LLC2 is not set
...@@ -231,6 +252,7 @@ CONFIG_IPV6_TUNNEL=m ...@@ -231,6 +252,7 @@ CONFIG_IPV6_TUNNEL=m
# CONFIG_ECONET is not set # CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set # CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set # CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
# #
# Network testing # Network testing
...@@ -241,14 +263,14 @@ CONFIG_NET_PKTGEN=m ...@@ -241,14 +263,14 @@ CONFIG_NET_PKTGEN=m
# CONFIG_IRDA is not set # CONFIG_IRDA is not set
# CONFIG_BT is not set # CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set # CONFIG_AF_RXRPC is not set
# CONFIG_PHONET is not set
# CONFIG_WIRELESS=y
# Wireless
#
# CONFIG_CFG80211 is not set # CONFIG_CFG80211 is not set
CONFIG_WIRELESS_OLD_REGULATORY=y
# CONFIG_WIRELESS_EXT is not set # CONFIG_WIRELESS_EXT is not set
# CONFIG_LIB80211 is not set
# CONFIG_MAC80211 is not set # CONFIG_MAC80211 is not set
# CONFIG_IEEE80211 is not set # CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set # CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set # CONFIG_NET_9P is not set
...@@ -262,7 +284,9 @@ CONFIG_NET_PKTGEN=m ...@@ -262,7 +284,9 @@ CONFIG_NET_PKTGEN=m
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_STANDALONE=y CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=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_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set # CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set # CONFIG_SYS_HYPERVISOR is not set
...@@ -286,12 +310,15 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 ...@@ -286,12 +310,15 @@ CONFIG_BLK_DEV_RAM_SIZE=4096
# CONFIG_BLK_DEV_XIP is not set # CONFIG_BLK_DEV_XIP is not set
# CONFIG_CDROM_PKTCDVD is not set # CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set # CONFIG_ATA_OVER_ETH is not set
# CONFIG_BLK_DEV_HD is not set
CONFIG_MISC_DEVICES=y CONFIG_MISC_DEVICES=y
# CONFIG_PHANTOM is not set # CONFIG_PHANTOM is not set
# CONFIG_EEPROM_93CX6 is not set # CONFIG_EEPROM_93CX6 is not set
# CONFIG_SGI_IOC4 is not set # CONFIG_SGI_IOC4 is not set
# CONFIG_TIFM_CORE is not set # CONFIG_TIFM_CORE is not set
# CONFIG_ENCLOSURE_SERVICES 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_HAVE_IDE=y
# CONFIG_IDE is not set # CONFIG_IDE is not set
...@@ -335,6 +362,7 @@ CONFIG_SCSI_SPI_ATTRS=y ...@@ -335,6 +362,7 @@ CONFIG_SCSI_SPI_ATTRS=y
# CONFIG_SCSI_SRP_ATTRS is not set # CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set # CONFIG_ISCSI_TCP is not set
# CONFIG_SCSI_CXGB3_ISCSI is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set # CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set # CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ACARD is not set # CONFIG_SCSI_ACARD is not set
...@@ -348,6 +376,8 @@ CONFIG_SCSI_LOWLEVEL=y ...@@ -348,6 +376,8 @@ CONFIG_SCSI_LOWLEVEL=y
# CONFIG_MEGARAID_LEGACY is not set # CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set # CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_HPTIOP 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_DMX3191D is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_IPS is not set # CONFIG_SCSI_IPS is not set
...@@ -367,6 +397,7 @@ CONFIG_SCSI_QLOGICPTI=m ...@@ -367,6 +397,7 @@ CONFIG_SCSI_QLOGICPTI=m
# CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_DEBUG is not set
CONFIG_SCSI_SUNESP=y CONFIG_SCSI_SUNESP=y
# CONFIG_SCSI_SRP is not set # CONFIG_SCSI_SRP is not set
# CONFIG_SCSI_DH is not set
# CONFIG_ATA is not set # CONFIG_ATA is not set
# CONFIG_MD is not set # CONFIG_MD is not set
# CONFIG_FUSION is not set # CONFIG_FUSION is not set
...@@ -374,11 +405,14 @@ CONFIG_SCSI_SUNESP=y ...@@ -374,11 +405,14 @@ CONFIG_SCSI_SUNESP=y
# #
# IEEE 1394 (FireWire) support # IEEE 1394 (FireWire) support
# #
#
# Enable only one of the two stacks, unless you know what you are doing
#
# CONFIG_FIREWIRE is not set # CONFIG_FIREWIRE is not set
# CONFIG_IEEE1394 is not set # CONFIG_IEEE1394 is not set
# CONFIG_I2O is not set # CONFIG_I2O is not set
CONFIG_NETDEVICES=y CONFIG_NETDEVICES=y
# CONFIG_NETDEVICES_MULTIQUEUE is not set
CONFIG_DUMMY=m CONFIG_DUMMY=m
# CONFIG_BONDING is not set # CONFIG_BONDING is not set
# CONFIG_MACVLAN is not set # CONFIG_MACVLAN is not set
...@@ -402,14 +436,16 @@ CONFIG_SUNQE=m ...@@ -402,14 +436,16 @@ CONFIG_SUNQE=m
# CONFIG_IBM_NEW_EMAC_RGMII is not set # CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set # CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 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_NET_PCI is not set
# CONFIG_B44 is not set # CONFIG_B44 is not set
# CONFIG_ATL2 is not set
CONFIG_NETDEV_1000=y CONFIG_NETDEV_1000=y
# CONFIG_ACENIC is not set # CONFIG_ACENIC is not set
# CONFIG_DL2K is not set # CONFIG_DL2K is not set
# CONFIG_E1000 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_IP1000 is not set
# CONFIG_IGB is not set # CONFIG_IGB is not set
# CONFIG_MYRI_SBUS is not set # CONFIG_MYRI_SBUS is not set
...@@ -425,18 +461,25 @@ CONFIG_NETDEV_1000=y ...@@ -425,18 +461,25 @@ CONFIG_NETDEV_1000=y
# CONFIG_BNX2 is not set # CONFIG_BNX2 is not set
# CONFIG_QLA3XXX is not set # CONFIG_QLA3XXX is not set
# CONFIG_ATL1 is not set # CONFIG_ATL1 is not set
# CONFIG_ATL1E is not set
# CONFIG_JME is not set
CONFIG_NETDEV_10000=y CONFIG_NETDEV_10000=y
# CONFIG_CHELSIO_T1 is not set # CONFIG_CHELSIO_T1 is not set
CONFIG_CHELSIO_T3_DEPENDS=y
# CONFIG_CHELSIO_T3 is not set # CONFIG_CHELSIO_T3 is not set
# CONFIG_ENIC is not set
# CONFIG_IXGBE is not set # CONFIG_IXGBE is not set
# CONFIG_IXGB is not set # CONFIG_IXGB is not set
# CONFIG_S2IO is not set # CONFIG_S2IO is not set
# CONFIG_MYRI10GE is not set # CONFIG_MYRI10GE is not set
# CONFIG_NETXEN_NIC is not set # CONFIG_NETXEN_NIC is not set
# CONFIG_NIU is not set # CONFIG_NIU is not set
# CONFIG_MLX4_EN is not set
# CONFIG_MLX4_CORE is not set # CONFIG_MLX4_CORE is not set
# CONFIG_TEHUTI is not set # CONFIG_TEHUTI is not set
# CONFIG_BNX2X is not set # CONFIG_BNX2X is not set
# CONFIG_QLGE is not set
# CONFIG_SFC is not set
# CONFIG_TR is not set # CONFIG_TR is not set
# #
...@@ -445,6 +488,10 @@ CONFIG_NETDEV_10000=y ...@@ -445,6 +488,10 @@ CONFIG_NETDEV_10000=y
# CONFIG_WLAN_PRE80211 is not set # CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 is not set # CONFIG_WLAN_80211 is not set
# CONFIG_IWLWIFI_LEDS is not set # CONFIG_IWLWIFI_LEDS is not set
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
# CONFIG_WAN is not set # CONFIG_WAN is not set
# CONFIG_FDDI is not set # CONFIG_FDDI is not set
# CONFIG_HIPPI is not set # CONFIG_HIPPI is not set
...@@ -492,9 +539,11 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y ...@@ -492,9 +539,11 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set # CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_SERIAL=m CONFIG_MOUSE_SERIAL=m
# CONFIG_MOUSE_APPLETOUCH is not set # CONFIG_MOUSE_APPLETOUCH is not set
# CONFIG_MOUSE_BCM5974 is not set
# CONFIG_MOUSE_VSXXXAA is not set # CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set # CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set # CONFIG_INPUT_TABLET is not set
...@@ -516,15 +565,18 @@ CONFIG_SERIO_LIBPS2=m ...@@ -516,15 +565,18 @@ CONFIG_SERIO_LIBPS2=m
# Character devices # Character devices
# #
CONFIG_VT=y CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set # CONFIG_VT_HW_CONSOLE_BINDING is not set
CONFIG_DEVKMEM=y
# CONFIG_SERIAL_NONSTANDARD is not set # CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_NOZOMI is not set # CONFIG_NOZOMI is not set
# #
# Serial drivers # Serial drivers
# #
# CONFIG_SERIAL_8250 is not set
# #
# Non-8250 serial port support # Non-8250 serial port support
...@@ -540,23 +592,20 @@ CONFIG_SERIAL_CORE_CONSOLE=y ...@@ -540,23 +592,20 @@ CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_CONSOLE_POLL=y CONFIG_CONSOLE_POLL=y
# CONFIG_SERIAL_JSM is not set # CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_IPMI_HANDLER is not set # CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=m CONFIG_HW_RANDOM=m
CONFIG_JS_RTC=m
# CONFIG_R3964 is not set # CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set # CONFIG_APPLICOM is not set
# CONFIG_RAW_DRIVER is not set # CONFIG_RAW_DRIVER is not set
# CONFIG_TCG_TPM is not set # CONFIG_TCG_TPM is not set
CONFIG_DEVPORT=y CONFIG_DEVPORT=y
# CONFIG_I2C is not set # CONFIG_I2C is not set
#
# SPI support
#
# CONFIG_SPI is not set # 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_W1 is not set
# CONFIG_POWER_SUPPLY is not set # CONFIG_POWER_SUPPLY is not set
CONFIG_HWMON=y CONFIG_HWMON=y
...@@ -577,25 +626,38 @@ CONFIG_HWMON=y ...@@ -577,25 +626,38 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_W83627EHF is not set # CONFIG_SENSORS_W83627EHF is not set
# CONFIG_HWMON_DEBUG_CHIP is not set # CONFIG_HWMON_DEBUG_CHIP is not set
# CONFIG_THERMAL is not set # CONFIG_THERMAL is not set
# CONFIG_THERMAL_HWMON is not set
# CONFIG_WATCHDOG is not set # CONFIG_WATCHDOG is not set
CONFIG_SSB_POSSIBLE=y
# #
# Sonics Silicon Backplane # Sonics Silicon Backplane
# #
CONFIG_SSB_POSSIBLE=y
# CONFIG_SSB is not set # CONFIG_SSB is not set
# #
# Multifunction device drivers # Multifunction device drivers
# #
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_SM501 is not set # CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_PASIC3 is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_REGULATOR is not set
# #
# Multimedia devices # Multimedia devices
# #
#
# Multimedia core support
#
# CONFIG_VIDEO_DEV is not set # CONFIG_VIDEO_DEV is not set
# CONFIG_DVB_CORE is not set # CONFIG_DVB_CORE is not set
# CONFIG_VIDEO_MEDIA is not set
#
# Multimedia drivers
#
# CONFIG_DAB is not set # CONFIG_DAB is not set
# #
...@@ -616,15 +678,17 @@ CONFIG_SSB_POSSIBLE=y ...@@ -616,15 +678,17 @@ CONFIG_SSB_POSSIBLE=y
# #
# CONFIG_PROM_CONSOLE is not set # CONFIG_PROM_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y CONFIG_DUMMY_CONSOLE=y
#
# Sound
#
# CONFIG_SOUND is not set # CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y CONFIG_HID_SUPPORT=y
CONFIG_HID=y CONFIG_HID=y
# CONFIG_HID_DEBUG is not set # CONFIG_HID_DEBUG is not set
# CONFIG_HIDRAW 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_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y CONFIG_USB_ARCH_HAS_OHCI=y
...@@ -632,31 +696,70 @@ CONFIG_USB_ARCH_HAS_EHCI=y ...@@ -632,31 +696,70 @@ CONFIG_USB_ARCH_HAS_EHCI=y
# CONFIG_USB is not set # 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 # CONFIG_USB_GADGET is not set
#
# OTG and related infrastructure
#
# CONFIG_UWB is not set
# CONFIG_MMC is not set # CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set # CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set # CONFIG_NEW_LEDS is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND 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_UIO is not set
# CONFIG_STAGING is not set
# #
# Misc Linux/SPARC drivers # Misc Linux/SPARC drivers
# #
CONFIG_SUN_OPENPROMIO=m 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_TADPOLE_TS102_UCTRL is not set
# CONFIG_SUN_JSFLASH is not set # CONFIG_SUN_JSFLASH is not set
#
# Unix98 PTY support
#
CONFIG_UNIX98_PTY_COUNT=256
# #
# File systems # File systems
# #
...@@ -666,11 +769,12 @@ CONFIG_EXT2_FS_POSIX_ACL=y ...@@ -666,11 +769,12 @@ CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set # CONFIG_EXT2_FS_XIP is not set
# CONFIG_EXT3_FS 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_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set # CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set # CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y CONFIG_FS_POSIX_ACL=y
CONFIG_FILE_LOCKING=y
# CONFIG_XFS_FS is not set # CONFIG_XFS_FS is not set
# CONFIG_OCFS2_FS is not set # CONFIG_OCFS2_FS is not set
CONFIG_DNOTIFY=y CONFIG_DNOTIFY=y
...@@ -702,14 +806,12 @@ CONFIG_ISO9660_FS=m ...@@ -702,14 +806,12 @@ CONFIG_ISO9660_FS=m
CONFIG_PROC_FS=y CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y CONFIG_SYSFS=y
# CONFIG_TMPFS is not set # CONFIG_TMPFS is not set
# CONFIG_HUGETLB_PAGE is not set # CONFIG_HUGETLB_PAGE is not set
# CONFIG_CONFIGFS_FS is not set # CONFIG_CONFIGFS_FS is not set
CONFIG_MISC_FILESYSTEMS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set # CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set # CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set # CONFIG_HFS_FS is not set
...@@ -720,6 +822,7 @@ CONFIG_SYSFS=y ...@@ -720,6 +822,7 @@ CONFIG_SYSFS=y
# CONFIG_CRAMFS is not set # CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set # CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set # CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set # CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set # CONFIG_QNX4FS_FS is not set
CONFIG_ROMFS_FS=m CONFIG_ROMFS_FS=m
...@@ -729,13 +832,13 @@ CONFIG_NETWORK_FILESYSTEMS=y ...@@ -729,13 +832,13 @@ CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y CONFIG_NFS_FS=y
# CONFIG_NFS_V3 is not set # CONFIG_NFS_V3 is not set
# CONFIG_NFS_V4 is not set # CONFIG_NFS_V4 is not set
# CONFIG_NFSD is not set
CONFIG_ROOT_NFS=y CONFIG_ROOT_NFS=y
# CONFIG_NFSD is not set
CONFIG_LOCKD=y CONFIG_LOCKD=y
CONFIG_NFS_COMMON=y CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=m 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_KRB5=m
# CONFIG_RPCSEC_GSS_SPKM3 is not set # CONFIG_RPCSEC_GSS_SPKM3 is not set
# CONFIG_SMB_FS is not set # CONFIG_SMB_FS is not set
...@@ -806,9 +909,12 @@ CONFIG_MAGIC_SYSRQ=y ...@@ -806,9 +909,12 @@ CONFIG_MAGIC_SYSRQ=y
# CONFIG_HEADERS_CHECK is not set # CONFIG_HEADERS_CHECK is not set
CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_KERNEL=y
CONFIG_DETECT_SOFTLOCKUP=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_SCHED_DEBUG is not set
# CONFIG_SCHEDSTATS is not set # CONFIG_SCHEDSTATS is not set
# CONFIG_TIMER_STATS is not set # CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_RT_MUTEXES is not set # CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set # CONFIG_RT_MUTEX_TESTER is not set
...@@ -822,37 +928,59 @@ CONFIG_DEBUG_BUGVERBOSE=y ...@@ -822,37 +928,59 @@ CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set # CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_VM is not set # CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_WRITECOUNT is not set # CONFIG_DEBUG_WRITECOUNT is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_LIST is not set # CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG 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_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST 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_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_FAULT_INJECTION 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_SAMPLES is not set
CONFIG_KGDB=y
CONFIG_HAVE_ARCH_KGDB=y CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y CONFIG_KGDB_SERIAL_CONSOLE=y
CONFIG_KGDB_TESTS=y CONFIG_KGDB_TESTS=y
# CONFIG_KGDB_TESTS_ON_BOOT is not set # CONFIG_KGDB_TESTS_ON_BOOT is not set
# CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_STACK_DEBUG is not set
# #
# Security options # Security options
# #
# CONFIG_KEYS is not set # CONFIG_KEYS is not set
# CONFIG_SECURITY is not set # CONFIG_SECURITY is not set
# CONFIG_SECURITYFS is not set
# CONFIG_SECURITY_FILE_CAPABILITIES is not set # CONFIG_SECURITY_FILE_CAPABILITIES is not set
CONFIG_CRYPTO=y CONFIG_CRYPTO=y
# #
# Crypto core or helper # Crypto core or helper
# #
# CONFIG_CRYPTO_FIPS is not set
CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_GF128MUL is not set # CONFIG_CRYPTO_GF128MUL is not set
CONFIG_CRYPTO_NULL=m CONFIG_CRYPTO_NULL=m
# CONFIG_CRYPTO_CRYPTD is not set # CONFIG_CRYPTO_CRYPTD is not set
...@@ -890,6 +1018,10 @@ CONFIG_CRYPTO_CRC32C=m ...@@ -890,6 +1018,10 @@ CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_MD4=y
CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=m 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_SHA1=y
CONFIG_CRYPTO_SHA256=m CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_SHA512=m
...@@ -921,15 +1053,21 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m ...@@ -921,15 +1053,21 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
# #
CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_DEFLATE=y
# CONFIG_CRYPTO_LZO is not set # CONFIG_CRYPTO_LZO is not set
#
# Random Number Generation
#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_HW is not set # CONFIG_CRYPTO_HW is not set
# #
# Library routines # Library routines
# #
CONFIG_BITREVERSE=y CONFIG_BITREVERSE=y
# CONFIG_GENERIC_FIND_FIRST_BIT is not set CONFIG_GENERIC_FIND_LAST_BIT=y
# CONFIG_CRC_CCITT is not set # CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set # CONFIG_CRC16 is not set
# CONFIG_CRC_T10DIF is not set
# CONFIG_CRC_ITU_T is not set # CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y CONFIG_CRC32=y
# CONFIG_CRC7 is not set # CONFIG_CRC7 is not set
......
...@@ -177,17 +177,6 @@ extern void prom_putsegment(int context, unsigned long virt_addr, ...@@ -177,17 +177,6 @@ extern void prom_putsegment(int context, unsigned long virt_addr,
/* PROM device tree traversal functions... */ /* 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. */ /* Get the child node of the given node, or zero if no child exists. */
extern int prom_getchild(int parent_node); extern int prom_getchild(int parent_node);
......
...@@ -218,16 +218,6 @@ extern void prom_unmap(unsigned long size, unsigned long vaddr); ...@@ -218,16 +218,6 @@ extern void prom_unmap(unsigned long size, unsigned long vaddr);
/* PROM device tree traversal functions... */ /* 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. */ /* Get the child node of the given node, or zero if no child exists. */
extern int prom_getchild(int parent_node); extern int prom_getchild(int parent_node);
......
...@@ -84,7 +84,11 @@ ...@@ -84,7 +84,11 @@
#define __OLD_NSIG 32 #define __OLD_NSIG 32
#define __NEW_NSIG 64 #define __NEW_NSIG 64
#ifdef __arch64__
#define _NSIG_BPW 64 #define _NSIG_BPW 64
#else
#define _NSIG_BPW 32
#endif
#define _NSIG_WORDS (__NEW_NSIG / _NSIG_BPW) #define _NSIG_WORDS (__NEW_NSIG / _NSIG_BPW)
#define SIGRTMIN 32 #define SIGRTMIN 32
......
...@@ -76,6 +76,7 @@ unsigned char get_auxio(void) ...@@ -76,6 +76,7 @@ unsigned char get_auxio(void)
return sbus_readb(auxio_register); return sbus_readb(auxio_register);
return 0; return 0;
} }
EXPORT_SYMBOL(get_auxio);
void set_auxio(unsigned char bits_on, unsigned char bits_off) 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) ...@@ -102,7 +103,7 @@ void set_auxio(unsigned char bits_on, unsigned char bits_off)
}; };
spin_unlock_irqrestore(&auxio_lock, flags); spin_unlock_irqrestore(&auxio_lock, flags);
} }
EXPORT_SYMBOL(set_auxio);
/* sun4m power control register (AUXIO2) */ /* sun4m power control register (AUXIO2) */
......
...@@ -72,6 +72,7 @@ void auxio_set_led(int on) ...@@ -72,6 +72,7 @@ void auxio_set_led(int on)
bit = (ebus ? AUXIO_PCIO_LED : AUXIO_AUX1_LED); bit = (ebus ? AUXIO_PCIO_LED : AUXIO_AUX1_LED);
__auxio_set_bit(bit, on, ebus); __auxio_set_bit(bit, on, ebus);
} }
EXPORT_SYMBOL(auxio_set_led);
static void __auxio_sbus_set_lte(int on) static void __auxio_sbus_set_lte(int on)
{ {
...@@ -90,6 +91,7 @@ void auxio_set_lte(int on) ...@@ -90,6 +91,7 @@ void auxio_set_lte(int on)
break; break;
} }
} }
EXPORT_SYMBOL(auxio_set_lte);
static struct of_device_id __initdata auxio_match[] = { static struct of_device_id __initdata auxio_match[] = {
{ {
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
*/ */
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/smp.h> #include <linux/smp.h>
#include <linux/threads.h> #include <linux/threads.h>
...@@ -20,6 +21,7 @@ ...@@ -20,6 +21,7 @@
#include "kernel.h" #include "kernel.h"
DEFINE_PER_CPU(cpuinfo_sparc, __cpu_data) = { 0 }; DEFINE_PER_CPU(cpuinfo_sparc, __cpu_data) = { 0 };
EXPORT_PER_CPU_SYMBOL(__cpu_data);
struct cpu_info { struct cpu_info {
int psr_vers; int psr_vers;
......
...@@ -8,11 +8,14 @@ ...@@ -8,11 +8,14 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/types.h> #include <linux/types.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/module.h>
#include <asm/oplib.h> #include <asm/oplib.h>
#include <asm/idprom.h> #include <asm/idprom.h>
struct idprom *idprom; struct idprom *idprom;
EXPORT_SYMBOL(idprom);
static struct idprom idprom_buffer; static struct idprom idprom_buffer;
#ifdef CONFIG_SPARC32 #ifdef CONFIG_SPARC32
......
...@@ -120,6 +120,7 @@ void __iomem *ioremap(unsigned long offset, unsigned long size) ...@@ -120,6 +120,7 @@ void __iomem *ioremap(unsigned long offset, unsigned long size)
sprintf(name, "phys_%08x", (u32)offset); sprintf(name, "phys_%08x", (u32)offset);
return _sparc_alloc_io(0, offset, size, name); return _sparc_alloc_io(0, offset, size, name);
} }
EXPORT_SYMBOL(ioremap);
/* /*
* Comlimentary to ioremap(). * Comlimentary to ioremap().
...@@ -141,6 +142,7 @@ void iounmap(volatile void __iomem *virtual) ...@@ -141,6 +142,7 @@ void iounmap(volatile void __iomem *virtual)
kfree(res); kfree(res);
} }
} }
EXPORT_SYMBOL(iounmap);
void __iomem *of_ioremap(struct resource *res, unsigned long offset, void __iomem *of_ioremap(struct resource *res, unsigned long offset,
unsigned long size, char *name) unsigned long size, char *name)
...@@ -237,6 +239,7 @@ void sbus_set_sbus64(struct device *dev, int x) ...@@ -237,6 +239,7 @@ void sbus_set_sbus64(struct device *dev, int x)
{ {
printk("sbus_set_sbus64: unsupported\n"); printk("sbus_set_sbus64: unsupported\n");
} }
EXPORT_SYMBOL(sbus_set_sbus64);
/* /*
* Allocate a chunk of memory suitable for DMA. * 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) ...@@ -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. */ *pba = virt_to_phys(va); /* equals virt_to_bus (R.I.P.) for us. */
return (void *) res->start; return (void *) res->start;
} }
EXPORT_SYMBOL(pci_alloc_consistent);
/* Free and unmap a consistent DMA buffer. /* Free and unmap a consistent DMA buffer.
* cpu_addr is what was returned from pci_alloc_consistent, * 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) ...@@ -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)); free_pages(pgp, get_order(n));
} }
EXPORT_SYMBOL(pci_free_consistent);
/* Map a single buffer of the indicated size for DMA in streaming mode. /* Map a single buffer of the indicated size for DMA in streaming mode.
* The 32-bit bus address to use is returned. * 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, ...@@ -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. */ /* IIep is write-through, not flushing. */
return virt_to_phys(ptr); return virt_to_phys(ptr);
} }
EXPORT_SYMBOL(pci_map_single);
/* Unmap a single streaming mode DMA translation. The dma_addr and size /* 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 * 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, ...@@ -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); (size + PAGE_SIZE-1) & PAGE_MASK);
} }
} }
EXPORT_SYMBOL(pci_unmap_single);
/* /*
* Same as pci_map_single, but with pages. * 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, ...@@ -519,6 +526,7 @@ dma_addr_t pci_map_page(struct pci_dev *hwdev, struct page *page,
/* IIep is write-through, not flushing. */ /* IIep is write-through, not flushing. */
return page_to_phys(page) + offset; return page_to_phys(page) + offset;
} }
EXPORT_SYMBOL(pci_map_page);
void pci_unmap_page(struct pci_dev *hwdev, void pci_unmap_page(struct pci_dev *hwdev,
dma_addr_t dma_address, size_t size, int direction) dma_addr_t dma_address, size_t size, int direction)
...@@ -526,6 +534,7 @@ void pci_unmap_page(struct pci_dev *hwdev, ...@@ -526,6 +534,7 @@ void pci_unmap_page(struct pci_dev *hwdev,
BUG_ON(direction == PCI_DMA_NONE); BUG_ON(direction == PCI_DMA_NONE);
/* mmu_inval_dma_area XXX */ /* mmu_inval_dma_area XXX */
} }
EXPORT_SYMBOL(pci_unmap_page);
/* Map a set of buffers described by scatterlist in streaming /* Map a set of buffers described by scatterlist in streaming
* mode for DMA. This is the scather-gather version of the * 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, ...@@ -557,6 +566,7 @@ int pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sgl, int nents,
} }
return nents; return nents;
} }
EXPORT_SYMBOL(pci_map_sg);
/* Unmap a set of streaming mode DMA translations. /* Unmap a set of streaming mode DMA translations.
* Again, cpu read rules concerning calls here are the same as for * 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, ...@@ -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 /* Make physical memory consistent for a single
* streaming mode DMA translation before or after a transfer. * 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 ...@@ -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); (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) 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 ...@@ -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); (size + PAGE_SIZE-1) & PAGE_MASK);
} }
} }
EXPORT_SYMBOL(pci_dma_sync_single_for_device);
/* Make physical memory consistent for a set of streaming /* Make physical memory consistent for a set of streaming
* mode DMA translations after a transfer. * 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 ...@@ -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) 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, ...@@ -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 */ #endif /* CONFIG_PCI */
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
......
...@@ -294,6 +294,7 @@ void synchronize_irq(unsigned int irq) ...@@ -294,6 +294,7 @@ void synchronize_irq(unsigned int irq)
while (sparc_irq[cpu_irq].flags & SPARC_IRQ_INPROGRESS) while (sparc_irq[cpu_irq].flags & SPARC_IRQ_INPROGRESS)
cpu_relax(); cpu_relax();
} }
EXPORT_SYMBOL(synchronize_irq);
#endif /* SMP */ #endif /* SMP */
void unexpected_irq(int irq, void *dev_id, struct pt_regs * regs) 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) ...@@ -1077,6 +1077,7 @@ int pci_dma_supported(struct pci_dev *pdev, u64 device_mask)
return (device_mask & dma_addr_mask) == dma_addr_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, void pci_resource_to_user(const struct pci_dev *pdev, int bar,
const struct resource *rp, resource_size_t *start, const struct resource *rp, resource_size_t *start,
......
...@@ -956,6 +956,7 @@ void outsb(unsigned long addr, const void *src, unsigned long count) ...@@ -956,6 +956,7 @@ void outsb(unsigned long addr, const void *src, unsigned long count)
/* addr += 1; */ /* addr += 1; */
} }
} }
EXPORT_SYMBOL(outsb);
void outsw(unsigned long addr, const void *src, unsigned long count) 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) ...@@ -966,6 +967,7 @@ void outsw(unsigned long addr, const void *src, unsigned long count)
/* addr += 2; */ /* addr += 2; */
} }
} }
EXPORT_SYMBOL(outsw);
void outsl(unsigned long addr, const void *src, unsigned long count) 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) ...@@ -976,6 +978,7 @@ void outsl(unsigned long addr, const void *src, unsigned long count)
/* addr += 4; */ /* addr += 4; */
} }
} }
EXPORT_SYMBOL(outsl);
void insb(unsigned long addr, void *dst, unsigned long count) void insb(unsigned long addr, void *dst, unsigned long count)
{ {
...@@ -986,6 +989,7 @@ 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; */ /* addr += 1; */
} }
} }
EXPORT_SYMBOL(insb);
void insw(unsigned long addr, void *dst, unsigned long count) void insw(unsigned long addr, void *dst, unsigned long count)
{ {
...@@ -996,6 +1000,7 @@ 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; */ /* addr += 2; */
} }
} }
EXPORT_SYMBOL(insw);
void insl(unsigned long addr, void *dst, unsigned long count) void insl(unsigned long addr, void *dst, unsigned long count)
{ {
...@@ -1009,5 +1014,6 @@ 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; */ /* addr += 4; */
} }
} }
EXPORT_SYMBOL(insl);
subsys_initcall(pcic_init); subsys_initcall(pcic_init);
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
* Set in pm platform drivers (apc.c and pmc.c) * Set in pm platform drivers (apc.c and pmc.c)
*/ */
void (*pm_idle)(void); void (*pm_idle)(void);
EXPORT_SYMBOL(pm_idle);
/* /*
* Power-off handler instantiation for pm.h compliance * Power-off handler instantiation for pm.h compliance
...@@ -673,6 +674,7 @@ pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) ...@@ -673,6 +674,7 @@ pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
"g1", "g2", "g3", "o0", "o1", "memory", "cc"); "g1", "g2", "g3", "o0", "o1", "memory", "cc");
return retval; return retval;
} }
EXPORT_SYMBOL(kernel_thread);
unsigned long get_wchan(struct task_struct *task) unsigned long get_wchan(struct task_struct *task)
{ {
......
...@@ -678,6 +678,7 @@ pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) ...@@ -678,6 +678,7 @@ pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
"g1", "g2", "g3", "o0", "o1", "memory", "cc"); "g1", "g2", "g3", "o0", "o1", "memory", "cc");
return retval; return retval;
} }
EXPORT_SYMBOL(kernel_thread);
typedef struct { typedef struct {
union { union {
...@@ -743,6 +744,7 @@ int dump_fpu (struct pt_regs * regs, elf_fpregset_t * fpregs) ...@@ -743,6 +744,7 @@ int dump_fpu (struct pt_regs * regs, elf_fpregset_t * fpregs)
} }
return 1; return 1;
} }
EXPORT_SYMBOL(dump_fpu);
/* /*
* sparc_execve() executes a new program after the asm stub has set * sparc_execve() executes a new program after the asm stub has set
......
...@@ -11,19 +11,19 @@ ...@@ -11,19 +11,19 @@
#include "iommu_common.h" #include "iommu_common.h"
#include "psycho_common.h" #include "psycho_common.h"
#define PSYCHO_STRBUF_CTRL_DENAB 0x0000000000000002UL #define PSYCHO_STRBUF_CTRL_DENAB 0x0000000000000002ULL
#define PSYCHO_STCERR_WRITE 0x0000000000000002UL #define PSYCHO_STCERR_WRITE 0x0000000000000002ULL
#define PSYCHO_STCERR_READ 0x0000000000000001UL #define PSYCHO_STCERR_READ 0x0000000000000001ULL
#define PSYCHO_STCTAG_PPN 0x0fffffff00000000UL #define PSYCHO_STCTAG_PPN 0x0fffffff00000000ULL
#define PSYCHO_STCTAG_VPN 0x00000000ffffe000UL #define PSYCHO_STCTAG_VPN 0x00000000ffffe000ULL
#define PSYCHO_STCTAG_VALID 0x0000000000000002UL #define PSYCHO_STCTAG_VALID 0x0000000000000002ULL
#define PSYCHO_STCTAG_WRITE 0x0000000000000001UL #define PSYCHO_STCTAG_WRITE 0x0000000000000001ULL
#define PSYCHO_STCLINE_LINDX 0x0000000001e00000UL #define PSYCHO_STCLINE_LINDX 0x0000000001e00000ULL
#define PSYCHO_STCLINE_SPTR 0x00000000001f8000UL #define PSYCHO_STCLINE_SPTR 0x00000000001f8000ULL
#define PSYCHO_STCLINE_LADDR 0x0000000000007f00UL #define PSYCHO_STCLINE_LADDR 0x0000000000007f00ULL
#define PSYCHO_STCLINE_EPTR 0x00000000000000fcUL #define PSYCHO_STCLINE_EPTR 0x00000000000000fcULL
#define PSYCHO_STCLINE_VALID 0x0000000000000002UL #define PSYCHO_STCLINE_VALID 0x0000000000000002ULL
#define PSYCHO_STCLINE_FOFN 0x0000000000000001UL #define PSYCHO_STCLINE_FOFN 0x0000000000000001ULL
static DEFINE_SPINLOCK(stc_buf_lock); static DEFINE_SPINLOCK(stc_buf_lock);
static unsigned long stc_error_buf[128]; static unsigned long stc_error_buf[128];
...@@ -144,10 +144,10 @@ static void psycho_record_iommu_tags_and_data(struct pci_pbm_info *pbm, ...@@ -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_WRITE (0x1UL << 21UL)
#define PSYCHO_IOMMU_TAG_STREAM (0x1UL << 20UL) #define PSYCHO_IOMMU_TAG_STREAM (0x1UL << 20UL)
#define PSYCHO_IOMMU_TAG_SIZE (0x1UL << 19UL) #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_VALID (1UL << 30UL)
#define PSYCHO_IOMMU_DATA_CACHE (1UL << 28UL) #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, static void psycho_dump_iommu_tags_and_data(struct pci_pbm_info *pbm,
u64 *tag, u64 *data) u64 *tag, u64 *data)
...@@ -190,7 +190,7 @@ static void psycho_dump_iommu_tags_and_data(struct pci_pbm_info *pbm, ...@@ -190,7 +190,7 @@ static void psycho_dump_iommu_tags_and_data(struct pci_pbm_info *pbm,
pbm->name, i, pbm->name, i,
((data_val & PSYCHO_IOMMU_DATA_VALID) ? 1 : 0), ((data_val & PSYCHO_IOMMU_DATA_VALID) ? 1 : 0),
((data_val & PSYCHO_IOMMU_DATA_CACHE) ? 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) ...@@ -285,20 +285,20 @@ static irqreturn_t psycho_pcierr_intr_other(struct pci_pbm_info *pbm)
return ret; return ret;
} }
#define PSYCHO_PCIAFSR_PMA 0x8000000000000000UL #define PSYCHO_PCIAFSR_PMA 0x8000000000000000ULL
#define PSYCHO_PCIAFSR_PTA 0x4000000000000000UL #define PSYCHO_PCIAFSR_PTA 0x4000000000000000ULL
#define PSYCHO_PCIAFSR_PRTRY 0x2000000000000000UL #define PSYCHO_PCIAFSR_PRTRY 0x2000000000000000ULL
#define PSYCHO_PCIAFSR_PPERR 0x1000000000000000UL #define PSYCHO_PCIAFSR_PPERR 0x1000000000000000ULL
#define PSYCHO_PCIAFSR_SMA 0x0800000000000000UL #define PSYCHO_PCIAFSR_SMA 0x0800000000000000ULL
#define PSYCHO_PCIAFSR_STA 0x0400000000000000UL #define PSYCHO_PCIAFSR_STA 0x0400000000000000ULL
#define PSYCHO_PCIAFSR_SRTRY 0x0200000000000000UL #define PSYCHO_PCIAFSR_SRTRY 0x0200000000000000ULL
#define PSYCHO_PCIAFSR_SPERR 0x0100000000000000UL #define PSYCHO_PCIAFSR_SPERR 0x0100000000000000ULL
#define PSYCHO_PCIAFSR_RESV1 0x00ff000000000000UL #define PSYCHO_PCIAFSR_RESV1 0x00ff000000000000ULL
#define PSYCHO_PCIAFSR_BMSK 0x0000ffff00000000UL #define PSYCHO_PCIAFSR_BMSK 0x0000ffff00000000ULL
#define PSYCHO_PCIAFSR_BLK 0x0000000080000000UL #define PSYCHO_PCIAFSR_BLK 0x0000000080000000ULL
#define PSYCHO_PCIAFSR_RESV2 0x0000000040000000UL #define PSYCHO_PCIAFSR_RESV2 0x0000000040000000ULL
#define PSYCHO_PCIAFSR_MID 0x000000003e000000UL #define PSYCHO_PCIAFSR_MID 0x000000003e000000ULL
#define PSYCHO_PCIAFSR_RESV3 0x0000000001ffffffUL #define PSYCHO_PCIAFSR_RESV3 0x0000000001ffffffULL
irqreturn_t psycho_pcierr_intr(int irq, void *dev_id) irqreturn_t psycho_pcierr_intr(int irq, void *dev_id)
{ {
......
...@@ -117,6 +117,7 @@ void sbus_set_sbus64(struct device *dev, int bursts) ...@@ -117,6 +117,7 @@ void sbus_set_sbus64(struct device *dev, int bursts)
val |= (1UL << 4UL); val |= (1UL << 4UL);
upa_writeq(val, cfg_reg); upa_writeq(val, cfg_reg);
} }
EXPORT_SYMBOL(sbus_set_sbus64);
/* INO number to IMAP register offset for SYSIO external IRQ's. /* INO number to IMAP register offset for SYSIO external IRQ's.
* This should conform to both Sunfire/Wildfire server and Fusion * This should conform to both Sunfire/Wildfire server and Fusion
......
...@@ -199,7 +199,9 @@ extern unsigned short ram_flags; ...@@ -199,7 +199,9 @@ extern unsigned short ram_flags;
extern int root_mountflags; extern int root_mountflags;
char reboot_command[COMMAND_LINE_SIZE]; char reboot_command[COMMAND_LINE_SIZE];
enum sparc_cpu sparc_cpu_model; enum sparc_cpu sparc_cpu_model;
EXPORT_SYMBOL(sparc_cpu_model);
struct tt_entry *sparc_ttable; struct tt_entry *sparc_ttable;
...@@ -391,6 +393,7 @@ void sun_do_break(void) ...@@ -391,6 +393,7 @@ void sun_do_break(void)
prom_cmdline(); prom_cmdline();
} }
EXPORT_SYMBOL(sun_do_break);
int stop_a_enabled = 1; int stop_a_enabled = 1;
......
...@@ -58,6 +58,7 @@ ...@@ -58,6 +58,7 @@
* operations in asm/ns87303.h * operations in asm/ns87303.h
*/ */
DEFINE_SPINLOCK(ns87303_lock); DEFINE_SPINLOCK(ns87303_lock);
EXPORT_SYMBOL(ns87303_lock);
struct screen_info screen_info = { struct screen_info screen_info = {
0, 0, /* orig-x, orig-y */ 0, 0, /* orig-x, orig-y */
...@@ -425,5 +426,7 @@ void sun_do_break(void) ...@@ -425,5 +426,7 @@ void sun_do_break(void)
prom_cmdline(); prom_cmdline();
} }
EXPORT_SYMBOL(sun_do_break);
int stop_a_enabled = 1; int stop_a_enabled = 1;
EXPORT_SYMBOL(stop_a_enabled);
...@@ -5,49 +5,14 @@ ...@@ -5,49 +5,14 @@
* Copyright (C) 1996 Eddie C. Dost (ecd@skynet.be) * 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/module.h>
#include <linux/init.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/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/uaccess.h>
#include <asm/checksum.h> #include <asm/delay.h>
#ifdef CONFIG_SBUS #include <asm/head.h>
#include <asm/dma.h> #include <asm/dma.h>
#endif
#include <asm/io-unit.h>
#include <asm/bug.h>
extern spinlock_t rtc_lock;
struct poll { struct poll {
int fd; int fd;
...@@ -55,72 +20,15 @@ struct poll { ...@@ -55,72 +20,15 @@ struct poll {
short revents; short revents;
}; };
extern void (*__copy_1page)(void *, const void *); /* from entry.S */
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
EXPORT_SYMBOL(__udelay); EXPORT_SYMBOL(__udelay);
EXPORT_SYMBOL(__ndelay); 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 #ifndef CONFIG_SMP
EXPORT_SYMBOL(BTFIXUP_CALL(___xchg32)); EXPORT_SYMBOL(BTFIXUP_CALL(___xchg32));
#else #else
...@@ -132,122 +40,7 @@ EXPORT_SYMBOL(BTFIXUP_CALL(mmu_get_scsi_sgl)); ...@@ -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_get_scsi_one));
EXPORT_SYMBOL(BTFIXUP_CALL(mmu_release_scsi_sgl)); EXPORT_SYMBOL(BTFIXUP_CALL(mmu_release_scsi_sgl));
EXPORT_SYMBOL(BTFIXUP_CALL(mmu_release_scsi_one)); EXPORT_SYMBOL(BTFIXUP_CALL(mmu_release_scsi_one));
EXPORT_SYMBOL(BTFIXUP_CALL(pgprot_noncached)); EXPORT_SYMBOL(BTFIXUP_CALL(pgprot_noncached));
#ifdef CONFIG_SBUS /* Exporting a symbol from /init/main.c */
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);
EXPORT_SYMBOL(saved_command_line); 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 @@ ...@@ -5,50 +5,16 @@
* Copyright (C) 1999 Jakub Jelinek (jj@ultra.linux.cz) * 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/module.h>
#include <linux/types.h>
#include <linux/string.h>
#include <linux/sched.h>
#include <linux/in6.h>
#include <linux/pci.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/init.h>
#include <linux/rwsem.h>
#include <net/compat.h>
#include <asm/oplib.h> #include <asm/spinlock.h>
#include <asm/system.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/cpudata.h>
#include <asm/ftrace.h> #include <asm/uaccess.h>
#include <asm/spitfire.h>
#include <asm/oplib.h>
#include <asm/hypervisor.h> #include <asm/hypervisor.h>
struct poll { struct poll {
...@@ -57,42 +23,6 @@ struct poll { ...@@ -57,42 +23,6 @@ struct poll {
short revents; 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 */ /* used by various drivers */
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
/* Out of line rw-locking implementation. */ /* Out of line rw-locking implementation. */
...@@ -103,68 +33,24 @@ EXPORT_SYMBOL(__write_unlock); ...@@ -103,68 +33,24 @@ EXPORT_SYMBOL(__write_unlock);
EXPORT_SYMBOL(__write_trylock); EXPORT_SYMBOL(__write_trylock);
#endif /* CONFIG_SMP */ #endif /* CONFIG_SMP */
#ifdef CONFIG_MCOUNT /* from helpers.S */
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);
EXPORT_SYMBOL(__flushw_user); 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(tlb_type);
EXPORT_SYMBOL(sun4v_chip_type); EXPORT_SYMBOL(sun4v_chip_type);
EXPORT_SYMBOL(get_fb_unmapped_area); EXPORT_SYMBOL(prom_root_node);
EXPORT_SYMBOL(flush_icache_range);
EXPORT_SYMBOL(flush_dcache_page);
#ifdef DCACHE_ALIASING_POSSIBLE
EXPORT_SYMBOL(__flush_dcache_range);
#endif
/* from hvcalls.S */
EXPORT_SYMBOL(sun4v_niagara_getperf); EXPORT_SYMBOL(sun4v_niagara_getperf);
EXPORT_SYMBOL(sun4v_niagara_setperf); EXPORT_SYMBOL(sun4v_niagara_setperf);
EXPORT_SYMBOL(sun4v_niagara2_getperf); EXPORT_SYMBOL(sun4v_niagara2_getperf);
EXPORT_SYMBOL(sun4v_niagara2_setperf); 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 #ifdef CONFIG_PCI
/* inline functions in asm/pci_64.h */
EXPORT_SYMBOL(pci_alloc_consistent); EXPORT_SYMBOL(pci_alloc_consistent);
EXPORT_SYMBOL(pci_free_consistent); EXPORT_SYMBOL(pci_free_consistent);
EXPORT_SYMBOL(pci_map_single); EXPORT_SYMBOL(pci_map_single);
...@@ -173,112 +59,7 @@ EXPORT_SYMBOL(pci_map_sg); ...@@ -173,112 +59,7 @@ EXPORT_SYMBOL(pci_map_sg);
EXPORT_SYMBOL(pci_unmap_sg); EXPORT_SYMBOL(pci_unmap_sg);
EXPORT_SYMBOL(pci_dma_sync_single_for_cpu); EXPORT_SYMBOL(pci_dma_sync_single_for_cpu);
EXPORT_SYMBOL(pci_dma_sync_sg_for_cpu); EXPORT_SYMBOL(pci_dma_sync_sg_for_cpu);
EXPORT_SYMBOL(pci_dma_supported);
#endif #endif
/* I/O device mmaping on Sparc64. */ /* Exporting a symbol from /init/main.c */
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);
EXPORT_SYMBOL(saved_command_line); 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); ...@@ -60,7 +60,7 @@ extern int __smp4d_processor_id(void);
#define SMP_PRINTK(x) #define SMP_PRINTK(x)
#endif #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" : __asm__ __volatile__("swap [%1], %0\n\t" :
"=&r" (val), "=&r" (ptr) : "=&r" (val), "=&r" (ptr) :
...@@ -115,7 +115,7 @@ void __cpuinit smp4d_callin(void) ...@@ -115,7 +115,7 @@ void __cpuinit smp4d_callin(void)
local_flush_tlb_all(); local_flush_tlb_all();
/* Allow master to continue. */ /* 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_cache_all();
local_flush_tlb_all(); local_flush_tlb_all();
......
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
#include <linux/ipc.h> #include <linux/ipc.h>
#include <linux/personality.h> #include <linux/personality.h>
#include <linux/random.h> #include <linux/random.h>
#include <linux/module.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/utrap.h> #include <asm/utrap.h>
...@@ -354,6 +355,7 @@ unsigned long get_fb_unmapped_area(struct file *filp, unsigned long orig_addr, u ...@@ -354,6 +355,7 @@ unsigned long get_fb_unmapped_area(struct file *filp, unsigned long orig_addr, u
return addr; return addr;
} }
EXPORT_SYMBOL(get_fb_unmapped_area);
/* Essentially the same as PowerPC... */ /* Essentially the same as PowerPC... */
void arch_pick_mmap_layout(struct mm_struct *mm) void arch_pick_mmap_layout(struct mm_struct *mm)
......
...@@ -48,6 +48,8 @@ ...@@ -48,6 +48,8 @@
#include "irq.h" #include "irq.h"
DEFINE_SPINLOCK(rtc_lock); DEFINE_SPINLOCK(rtc_lock);
EXPORT_SYMBOL(rtc_lock);
static int set_rtc_mmss(unsigned long); static int set_rtc_mmss(unsigned long);
static int sbus_do_settimeofday(struct timespec *tv); static int sbus_do_settimeofday(struct timespec *tv);
......
...@@ -176,6 +176,7 @@ static struct sparc64_tick_ops tick_operations __read_mostly = { ...@@ -176,6 +176,7 @@ static struct sparc64_tick_ops tick_operations __read_mostly = {
}; };
struct sparc64_tick_ops *tick_ops __read_mostly = &tick_operations; struct sparc64_tick_ops *tick_ops __read_mostly = &tick_operations;
EXPORT_SYMBOL(tick_ops);
static void stick_disable_irq(void) static void stick_disable_irq(void)
{ {
...@@ -639,6 +640,7 @@ unsigned long sparc64_get_clock_tick(unsigned int cpu) ...@@ -639,6 +640,7 @@ unsigned long sparc64_get_clock_tick(unsigned int cpu)
return ft->clock_tick_ref; return ft->clock_tick_ref;
return cpu_data(cpu).clock_tick; return cpu_data(cpu).clock_tick;
} }
EXPORT_SYMBOL(sparc64_get_clock_tick);
#ifdef CONFIG_CPU_FREQ #ifdef CONFIG_CPU_FREQ
......
...@@ -424,6 +424,7 @@ void do_BUG(const char *file, int line) ...@@ -424,6 +424,7 @@ void do_BUG(const char *file, int line)
// bust_spinlocks(1); XXX Not in our original BUG() // bust_spinlocks(1); XXX Not in our original BUG()
printk("kernel BUG at %s:%d!\n", file, line); printk("kernel BUG at %s:%d!\n", file, line);
} }
EXPORT_SYMBOL(do_BUG);
#endif #endif
/* Since we have our mappings set up, on multiprocessors we can spin them /* 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) ...@@ -128,6 +128,7 @@ void do_BUG(const char *file, int line)
bust_spinlocks(1); bust_spinlocks(1);
printk("kernel BUG at %s:%d!\n", file, line); printk("kernel BUG at %s:%d!\n", file, line);
} }
EXPORT_SYMBOL(do_BUG);
#endif #endif
static DEFINE_SPINLOCK(dimm_handler_lock); static DEFINE_SPINLOCK(dimm_handler_lock);
...@@ -2261,6 +2262,7 @@ void die_if_kernel(char *str, struct pt_regs *regs) ...@@ -2261,6 +2262,7 @@ void die_if_kernel(char *str, struct pt_regs *regs)
do_exit(SIGKILL); do_exit(SIGKILL);
do_exit(SIGSEGV); do_exit(SIGSEGV);
} }
EXPORT_SYMBOL(die_if_kernel);
#define VIS_OPCODE_MASK ((0x3 << 30) | (0x3f << 19)) #define VIS_OPCODE_MASK ((0x3 << 30) | (0x3f << 19))
#define VIS_OPCODE_VAL ((0x2 << 30) | (0x36 << 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 ...@@ -589,7 +589,6 @@ void handle_lddfmna(struct pt_regs *regs, unsigned long sfar, unsigned long sfsr
unsigned long pc = regs->tpc; unsigned long pc = regs->tpc;
unsigned long tstate = regs->tstate; unsigned long tstate = regs->tstate;
u32 insn; u32 insn;
u32 first, second;
u64 value; u64 value;
u8 freg; u8 freg;
int flag; int flag;
...@@ -601,19 +600,20 @@ void handle_lddfmna(struct pt_regs *regs, unsigned long sfar, unsigned long sfsr ...@@ -601,19 +600,20 @@ void handle_lddfmna(struct pt_regs *regs, unsigned long sfar, unsigned long sfsr
pc = (u32)pc; pc = (u32)pc;
if (get_user(insn, (u32 __user *) pc) != -EFAULT) { if (get_user(insn, (u32 __user *) pc) != -EFAULT) {
int asi = decode_asi(insn, regs); int asi = decode_asi(insn, regs);
u32 first, second;
int err; int err;
if ((asi > ASI_SNFL) || if ((asi > ASI_SNFL) ||
(asi < ASI_P)) (asi < ASI_P))
goto daex; goto daex;
first = second = 0;
err = get_user(first, (u32 __user *)sfar); err = get_user(first, (u32 __user *)sfar);
if (!err) if (!err)
err = get_user(second, (u32 __user *)(sfar + 4)); err = get_user(second, (u32 __user *)(sfar + 4));
if (err) { if (err) {
if (asi & 0x2) /* NF */ { if (!(asi & 0x2))
first = 0; second = 0;
} else
goto daex; goto daex;
first = second = 0;
} }
save_and_clear_fpu(); save_and_clear_fpu();
freg = ((insn >> 25) & 0x1e) | ((insn >> 20) & 0x20); freg = ((insn >> 25) & 0x1e) | ((insn >> 20) & 0x20);
......
...@@ -42,3 +42,4 @@ lib-$(CONFIG_SPARC64) += mcount.o ipcsum.o xor.o ...@@ -42,3 +42,4 @@ lib-$(CONFIG_SPARC64) += mcount.o ipcsum.o xor.o
obj-y += iomap.o obj-y += iomap.o
obj-$(CONFIG_SPARC32) += atomic32.o obj-$(CONFIG_SPARC32) += atomic32.o
obj-y += ksyms.o
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
* Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu) * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
*/ */
#include <linux/module.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/byteorder.h> #include <asm/byteorder.h>
...@@ -15,6 +17,7 @@ void outsb(unsigned long __addr, const void *src, unsigned long count) ...@@ -15,6 +17,7 @@ void outsb(unsigned long __addr, const void *src, unsigned long count)
while (count--) while (count--)
outb(*p++, addr); outb(*p++, addr);
} }
EXPORT_SYMBOL(outsb);
void outsw(unsigned long __addr, const void *src, unsigned long count) 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) ...@@ -25,6 +28,7 @@ void outsw(unsigned long __addr, const void *src, unsigned long count)
src += sizeof(u16); src += sizeof(u16);
} }
} }
EXPORT_SYMBOL(outsw);
void outsl(unsigned long __addr, const void *src, unsigned long count) 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) ...@@ -78,6 +82,7 @@ void outsl(unsigned long __addr, const void *src, unsigned long count)
break; break;
} }
} }
EXPORT_SYMBOL(outsl);
void insb(unsigned long __addr, void *dst, unsigned long count) void insb(unsigned long __addr, void *dst, unsigned long count)
{ {
...@@ -105,6 +110,7 @@ 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); *pb++ = inb(addr);
} }
} }
EXPORT_SYMBOL(insb);
void insw(unsigned long __addr, void *dst, unsigned long count) void insw(unsigned long __addr, void *dst, unsigned long count)
{ {
...@@ -132,6 +138,7 @@ 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)); *ps = le16_to_cpu(inw(addr));
} }
} }
EXPORT_SYMBOL(insw);
void insl(unsigned long __addr, void *dst, unsigned long count) void insl(unsigned long __addr, void *dst, unsigned long count)
{ {
...@@ -200,4 +207,5 @@ 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);
/*
* 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 @@ ...@@ -7,6 +7,8 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/module.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
/* Calculating the exact fault address when using /* 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 ...@@ -40,6 +42,7 @@ unsigned long copy_from_user_fixup(void *to, const void __user *from, unsigned l
return size; return size;
} }
EXPORT_SYMBOL(copy_from_user_fixup);
unsigned long copy_to_user_fixup(void __user *to, const void *from, unsigned long size) 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 ...@@ -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); 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) 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 ...@@ -64,3 +68,4 @@ unsigned long copy_in_user_fixup(void __user *to, void __user *from, unsigned lo
return size; 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, ...@@ -95,3 +95,4 @@ int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from,
flush_tlb_range(vma, beg, end); flush_tlb_range(vma, beg, end);
return error; 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, ...@@ -161,3 +161,4 @@ int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from,
flush_tlb_range(vma, beg, end); flush_tlb_range(vma, beg, end);
return error; return error;
} }
EXPORT_SYMBOL(io_remap_pfn_range);
...@@ -62,6 +62,7 @@ void *kmap_atomic(struct page *page, enum km_type type) ...@@ -62,6 +62,7 @@ void *kmap_atomic(struct page *page, enum km_type type)
return (void*) vaddr; return (void*) vaddr;
} }
EXPORT_SYMBOL(kmap_atomic);
void kunmap_atomic(void *kvaddr, enum km_type type) void kunmap_atomic(void *kvaddr, enum km_type type)
{ {
...@@ -98,6 +99,7 @@ void kunmap_atomic(void *kvaddr, enum km_type type) ...@@ -98,6 +99,7 @@ void kunmap_atomic(void *kvaddr, enum km_type type)
pagefault_enable(); pagefault_enable();
} }
EXPORT_SYMBOL(kunmap_atomic);
/* We may be fed a pagetable here by ptep_to_xxx and others. */ /* We may be fed a pagetable here by ptep_to_xxx and others. */
struct page *kmap_atomic_to_page(void *ptr) struct page *kmap_atomic_to_page(void *ptr)
......
...@@ -38,11 +38,16 @@ ...@@ -38,11 +38,16 @@
DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
unsigned long *sparc_valid_addr_bitmap; unsigned long *sparc_valid_addr_bitmap;
EXPORT_SYMBOL(sparc_valid_addr_bitmap);
unsigned long phys_base; unsigned long phys_base;
EXPORT_SYMBOL(phys_base);
unsigned long pfn_base; unsigned long pfn_base;
EXPORT_SYMBOL(pfn_base);
unsigned long page_kernel; unsigned long page_kernel;
EXPORT_SYMBOL(page_kernel);
struct sparc_phys_banks sp_banks[SPARC_PHYS_BANKS+1]; struct sparc_phys_banks sp_banks[SPARC_PHYS_BANKS+1];
unsigned long sparc_unmapped_base; unsigned long sparc_unmapped_base;
...@@ -522,3 +527,4 @@ void sparc_flush_page_to_ram(struct page *page) ...@@ -522,3 +527,4 @@ void sparc_flush_page_to_ram(struct page *page)
if (vaddr) if (vaddr)
__flush_page_to_ram(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, ...@@ -146,6 +146,7 @@ static void __init read_obp_memory(const char *property,
} }
unsigned long *sparc64_valid_addr_bitmap __read_mostly; unsigned long *sparc64_valid_addr_bitmap __read_mostly;
EXPORT_SYMBOL(sparc64_valid_addr_bitmap);
/* Kernel physical address base and size in bytes. */ /* Kernel physical address base and size in bytes. */
unsigned long kern_base __read_mostly; unsigned long kern_base __read_mostly;
...@@ -369,6 +370,7 @@ void flush_dcache_page(struct page *page) ...@@ -369,6 +370,7 @@ void flush_dcache_page(struct page *page)
out: out:
put_cpu(); put_cpu();
} }
EXPORT_SYMBOL(flush_dcache_page);
void __kprobes flush_icache_range(unsigned long start, unsigned long end) 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) ...@@ -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) void mmu_info(struct seq_file *m)
{ {
...@@ -599,6 +602,7 @@ void __flush_dcache_range(unsigned long start, unsigned long end) ...@@ -599,6 +602,7 @@ void __flush_dcache_range(unsigned long start, unsigned long end)
"i" (ASI_DCACHE_INVALIDATE)); "i" (ASI_DCACHE_INVALIDATE));
} }
} }
EXPORT_SYMBOL(__flush_dcache_range);
/* get_new_mmu_context() uses "cache + 1". */ /* get_new_mmu_context() uses "cache + 1". */
DEFINE_SPINLOCK(ctx_alloc_lock); DEFINE_SPINLOCK(ctx_alloc_lock);
......
...@@ -8,16 +8,20 @@ ...@@ -8,16 +8,20 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/module.h>
#include <asm/openprom.h> #include <asm/openprom.h>
#include <asm/oplib.h> #include <asm/oplib.h>
struct linux_romvec *romvec; struct linux_romvec *romvec;
EXPORT_SYMBOL(romvec);
enum prom_major_version prom_vers; enum prom_major_version prom_vers;
unsigned int prom_rev, prom_prev; unsigned int prom_rev, prom_prev;
/* The root node of the prom device tree. */ /* The root node of the prom device tree. */
int prom_root_node; int prom_root_node;
EXPORT_SYMBOL(prom_root_node);
/* Pointer to the device tree operations structure. */ /* Pointer to the device tree operations structure. */
struct linux_nodeops *prom_nodeops; struct linux_nodeops *prom_nodeops;
......
...@@ -8,6 +8,8 @@ ...@@ -8,6 +8,8 @@
#include <linux/types.h> #include <linux/types.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/module.h>
#include <asm/openprom.h> #include <asm/openprom.h>
#include <asm/oplib.h> #include <asm/oplib.h>
#include <asm/auxio.h> #include <asm/auxio.h>
...@@ -44,6 +46,7 @@ prom_feval(char *fstring) ...@@ -44,6 +46,7 @@ prom_feval(char *fstring)
restore_current(); restore_current();
spin_unlock_irqrestore(&prom_lock, flags); spin_unlock_irqrestore(&prom_lock, flags);
} }
EXPORT_SYMBOL(prom_feval);
/* Drop into the prom, with the chance to continue with the 'go' /* Drop into the prom, with the chance to continue with the 'go'
* prom command. * prom command.
......
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/module.h>
#include <asm/openprom.h> #include <asm/openprom.h>
#include <asm/oplib.h> #include <asm/oplib.h>
#include <asm/system.h> #include <asm/system.h>
...@@ -54,6 +56,7 @@ void prom_feval(const char *fstring) ...@@ -54,6 +56,7 @@ void prom_feval(const char *fstring)
p1275_cmd("interpret", P1275_ARG(0, P1275_ARG_IN_STRING) | p1275_cmd("interpret", P1275_ARG(0, P1275_ARG_IN_STRING) |
P1275_INOUT(1, 1), fstring); P1275_INOUT(1, 1), fstring);
} }
EXPORT_SYMBOL(prom_feval);
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
extern void smp_capture(void); extern void smp_capture(void);
......
...@@ -6,6 +6,8 @@ ...@@ -6,6 +6,8 @@
*/ */
#include <linux/init.h> #include <linux/init.h>
#include <linux/module.h>
#include <asm/openprom.h> #include <asm/openprom.h>
#include <asm/oplib.h> #include <asm/oplib.h>
#include <asm/types.h> #include <asm/types.h>
...@@ -62,6 +64,7 @@ prom_apply_obio_ranges(struct linux_prom_registers *regs, int nregs) ...@@ -62,6 +64,7 @@ prom_apply_obio_ranges(struct linux_prom_registers *regs, int nregs)
if(num_obio_ranges) if(num_obio_ranges)
prom_adjust_regs(regs, nregs, promlib_obio_ranges, 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) void __init prom_ranges_init(void)
{ {
......
...@@ -5,13 +5,12 @@ ...@@ -5,13 +5,12 @@
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
*/ */
#define PROMLIB_INTERNAL
#include <linux/string.h> #include <linux/string.h>
#include <linux/types.h> #include <linux/types.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/ctype.h> #include <linux/ctype.h>
#include <linux/module.h>
#include <asm/openprom.h> #include <asm/openprom.h>
#include <asm/oplib.h> #include <asm/oplib.h>
...@@ -50,6 +49,7 @@ int prom_getchild(int node) ...@@ -50,6 +49,7 @@ int prom_getchild(int node)
return cnode; return cnode;
} }
EXPORT_SYMBOL(prom_getchild);
/* Internal version of prom_getsibling that does not alter return values. */ /* Internal version of prom_getsibling that does not alter return values. */
int __prom_getsibling(int node) int __prom_getsibling(int node)
...@@ -81,6 +81,7 @@ int prom_getsibling(int node) ...@@ -81,6 +81,7 @@ int prom_getsibling(int node)
return sibnode; return sibnode;
} }
EXPORT_SYMBOL(prom_getsibling);
/* Return the length in bytes of property 'prop' at node 'node'. /* Return the length in bytes of property 'prop' at node 'node'.
* Return -1 on error. * Return -1 on error.
...@@ -99,6 +100,7 @@ int prom_getproplen(int node, const char *prop) ...@@ -99,6 +100,7 @@ int prom_getproplen(int node, const char *prop)
spin_unlock_irqrestore(&prom_lock, flags); spin_unlock_irqrestore(&prom_lock, flags);
return ret; return ret;
} }
EXPORT_SYMBOL(prom_getproplen);
/* Acquire a property 'prop' at node 'node' and place it in /* Acquire a property 'prop' at node 'node' and place it in
* 'buffer' which has a size of 'bufsize'. If the acquisition * '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) ...@@ -119,6 +121,7 @@ int prom_getproperty(int node, const char *prop, char *buffer, int bufsize)
spin_unlock_irqrestore(&prom_lock, flags); spin_unlock_irqrestore(&prom_lock, flags);
return ret; return ret;
} }
EXPORT_SYMBOL(prom_getproperty);
/* Acquire an integer property and return its value. Returns -1 /* Acquire an integer property and return its value. Returns -1
* on failure. * on failure.
...@@ -132,6 +135,7 @@ int prom_getint(int node, char *prop) ...@@ -132,6 +135,7 @@ int prom_getint(int node, char *prop)
return -1; return -1;
} }
EXPORT_SYMBOL(prom_getint);
/* Acquire an integer property, upon error return the passed default /* Acquire an integer property, upon error return the passed default
* integer. * integer.
...@@ -145,6 +149,7 @@ int prom_getintdefault(int node, char *property, int deflt) ...@@ -145,6 +149,7 @@ int prom_getintdefault(int node, char *property, int deflt)
return retval; return retval;
} }
EXPORT_SYMBOL(prom_getintdefault);
/* Acquire a boolean property, 1=TRUE 0=FALSE. */ /* Acquire a boolean property, 1=TRUE 0=FALSE. */
int prom_getbool(int node, char *prop) int prom_getbool(int node, char *prop)
...@@ -155,6 +160,7 @@ int prom_getbool(int node, char *prop) ...@@ -155,6 +160,7 @@ int prom_getbool(int node, char *prop)
if(retval == -1) return 0; if(retval == -1) return 0;
return 1; return 1;
} }
EXPORT_SYMBOL(prom_getbool);
/* Acquire a property whose value is a string, returns a null /* Acquire a property whose value is a string, returns a null
* string on error. The char pointer is the user supplied string * 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) ...@@ -169,6 +175,7 @@ void prom_getstring(int node, char *prop, char *user_buf, int ubuf_size)
user_buf[0] = 0; user_buf[0] = 0;
return; return;
} }
EXPORT_SYMBOL(prom_getstring);
/* Does the device at node 'node' have name 'name'? /* Does the device at node 'node' have name 'name'?
...@@ -204,6 +211,7 @@ int prom_searchsiblings(int node_start, char *nodename) ...@@ -204,6 +211,7 @@ int prom_searchsiblings(int node_start, char *nodename)
return 0; return 0;
} }
EXPORT_SYMBOL(prom_searchsiblings);
/* Interal version of nextprop that does not alter return values. */ /* Interal version of nextprop that does not alter return values. */
char * __prom_nextprop(int node, char * oprop) char * __prom_nextprop(int node, char * oprop)
...@@ -228,6 +236,7 @@ char * prom_firstprop(int node, char *bufer) ...@@ -228,6 +236,7 @@ char * prom_firstprop(int node, char *bufer)
return __prom_nextprop(node, ""); return __prom_nextprop(node, "");
} }
EXPORT_SYMBOL(prom_firstprop);
/* Return the property type string after property type 'oprop' /* Return the property type string after property type 'oprop'
* at node 'node' . Returns empty string if no more * at node 'node' . Returns empty string if no more
...@@ -240,6 +249,7 @@ char * prom_nextprop(int node, char *oprop, char *buffer) ...@@ -240,6 +249,7 @@ char * prom_nextprop(int node, char *oprop, char *buffer)
return __prom_nextprop(node, oprop); return __prom_nextprop(node, oprop);
} }
EXPORT_SYMBOL(prom_nextprop);
int prom_finddevice(char *name) int prom_finddevice(char *name)
{ {
...@@ -287,6 +297,7 @@ int prom_finddevice(char *name) ...@@ -287,6 +297,7 @@ int prom_finddevice(char *name)
} }
return node; return node;
} }
EXPORT_SYMBOL(prom_finddevice);
int prom_node_has_property(int node, char *prop) int prom_node_has_property(int node, char *prop)
{ {
...@@ -299,6 +310,7 @@ 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); } while (*current_property);
return 0; return 0;
} }
EXPORT_SYMBOL(prom_node_has_property);
/* Set property 'pname' at node 'node' to value 'value' which has a length /* Set property 'pname' at node 'node' to value 'value' which has a length
* of 'size' bytes. Return the number of bytes the prom accepted. * 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) ...@@ -316,6 +328,7 @@ int prom_setprop(int node, const char *pname, char *value, int size)
spin_unlock_irqrestore(&prom_lock, flags); spin_unlock_irqrestore(&prom_lock, flags);
return ret; return ret;
} }
EXPORT_SYMBOL(prom_setprop);
int prom_inst2pkg(int inst) int prom_inst2pkg(int inst)
{ {
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include <linux/types.h> #include <linux/types.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/module.h>
#include <asm/openprom.h> #include <asm/openprom.h>
#include <asm/oplib.h> #include <asm/oplib.h>
...@@ -32,6 +33,7 @@ inline int prom_getchild(int node) ...@@ -32,6 +33,7 @@ inline int prom_getchild(int node)
if(cnode == -1) return 0; if(cnode == -1) return 0;
return (int)cnode; return (int)cnode;
} }
EXPORT_SYMBOL(prom_getchild);
inline int prom_getparent(int node) inline int prom_getparent(int node)
{ {
...@@ -63,6 +65,7 @@ inline int prom_getsibling(int node) ...@@ -63,6 +65,7 @@ inline int prom_getsibling(int node)
return sibnode; return sibnode;
} }
EXPORT_SYMBOL(prom_getsibling);
/* Return the length in bytes of property 'prop' at node 'node'. /* Return the length in bytes of property 'prop' at node 'node'.
* Return -1 on error. * Return -1 on error.
...@@ -75,6 +78,7 @@ inline int prom_getproplen(int node, const char *prop) ...@@ -75,6 +78,7 @@ inline int prom_getproplen(int node, const char *prop)
P1275_INOUT(2, 1), P1275_INOUT(2, 1),
node, prop); node, prop);
} }
EXPORT_SYMBOL(prom_getproplen);
/* Acquire a property 'prop' at node 'node' and place it in /* Acquire a property 'prop' at node 'node' and place it in
* 'buffer' which has a size of 'bufsize'. If the acquisition * 'buffer' which has a size of 'bufsize'. If the acquisition
...@@ -97,6 +101,7 @@ inline int prom_getproperty(int node, const char *prop, ...@@ -97,6 +101,7 @@ inline int prom_getproperty(int node, const char *prop,
node, prop, buffer, P1275_SIZE(plen)); node, prop, buffer, P1275_SIZE(plen));
} }
} }
EXPORT_SYMBOL(prom_getproperty);
/* Acquire an integer property and return its value. Returns -1 /* Acquire an integer property and return its value. Returns -1
* on failure. * on failure.
...@@ -110,6 +115,7 @@ inline int prom_getint(int node, const char *prop) ...@@ -110,6 +115,7 @@ inline int prom_getint(int node, const char *prop)
return -1; return -1;
} }
EXPORT_SYMBOL(prom_getint);
/* Acquire an integer property, upon error return the passed default /* Acquire an integer property, upon error return the passed default
* integer. * integer.
...@@ -124,6 +130,7 @@ int prom_getintdefault(int node, const char *property, int deflt) ...@@ -124,6 +130,7 @@ int prom_getintdefault(int node, const char *property, int deflt)
return retval; return retval;
} }
EXPORT_SYMBOL(prom_getintdefault);
/* Acquire a boolean property, 1=TRUE 0=FALSE. */ /* Acquire a boolean property, 1=TRUE 0=FALSE. */
int prom_getbool(int node, const char *prop) int prom_getbool(int node, const char *prop)
...@@ -134,6 +141,7 @@ 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; if(retval == -1) return 0;
return 1; return 1;
} }
EXPORT_SYMBOL(prom_getbool);
/* Acquire a property whose value is a string, returns a null /* Acquire a property whose value is a string, returns a null
* string on error. The char pointer is the user supplied string * 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) ...@@ -148,7 +156,7 @@ void prom_getstring(int node, const char *prop, char *user_buf, int ubuf_size)
user_buf[0] = 0; user_buf[0] = 0;
return; return;
} }
EXPORT_SYMBOL(prom_getstring);
/* Does the device at node 'node' have name 'name'? /* Does the device at node 'node' have name 'name'?
* YES = 1 NO = 0 * YES = 1 NO = 0
...@@ -181,6 +189,7 @@ int prom_searchsiblings(int node_start, const char *nodename) ...@@ -181,6 +189,7 @@ int prom_searchsiblings(int node_start, const char *nodename)
return 0; return 0;
} }
EXPORT_SYMBOL(prom_searchsiblings);
/* Return the first property type for node 'node'. /* Return the first property type for node 'node'.
* buffer should be at least 32B in length * buffer should be at least 32B in length
...@@ -194,6 +203,7 @@ inline char *prom_firstprop(int node, char *buffer) ...@@ -194,6 +203,7 @@ inline char *prom_firstprop(int node, char *buffer)
node, (char *) 0x0, buffer); node, (char *) 0x0, buffer);
return buffer; return buffer;
} }
EXPORT_SYMBOL(prom_firstprop);
/* Return the property type string after property type 'oprop' /* Return the property type string after property type 'oprop'
* at node 'node' . Returns NULL string if no more * at node 'node' . Returns NULL string if no more
...@@ -217,6 +227,7 @@ inline char *prom_nextprop(int node, const char *oprop, char *buffer) ...@@ -217,6 +227,7 @@ inline char *prom_nextprop(int node, const char *oprop, char *buffer)
node, oprop, buffer); node, oprop, buffer);
return buffer; return buffer;
} }
EXPORT_SYMBOL(prom_nextprop);
int int
prom_finddevice(const char *name) prom_finddevice(const char *name)
...@@ -228,6 +239,7 @@ prom_finddevice(const char *name) ...@@ -228,6 +239,7 @@ prom_finddevice(const char *name)
P1275_INOUT(1, 1), P1275_INOUT(1, 1),
name); name);
} }
EXPORT_SYMBOL(prom_finddevice);
int prom_node_has_property(int node, const char *prop) int prom_node_has_property(int node, const char *prop)
{ {
...@@ -241,6 +253,7 @@ int prom_node_has_property(int node, const char *prop) ...@@ -241,6 +253,7 @@ int prom_node_has_property(int node, const char *prop)
} while (*buf); } while (*buf);
return 0; return 0;
} }
EXPORT_SYMBOL(prom_node_has_property);
/* Set property 'pname' at node 'node' to value 'value' which has a length /* Set property 'pname' at node 'node' to value 'value' which has a length
* of 'size' bytes. Return the number of bytes the prom accepted. * 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) ...@@ -264,6 +277,7 @@ prom_setprop(int node, const char *pname, char *value, int size)
P1275_INOUT(4, 1), P1275_INOUT(4, 1),
node, pname, value, P1275_SIZE(size)); node, pname, value, P1275_SIZE(size));
} }
EXPORT_SYMBOL(prom_setprop);
inline int prom_inst2pkg(int inst) inline int prom_inst2pkg(int inst)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment