diff options
Diffstat (limited to 'arch/sparc')
68 files changed, 725 insertions, 705 deletions
diff --git a/arch/sparc/configs/sparc32_defconfig b/arch/sparc/configs/sparc32_defconfig index 2e3a149ea0e..09ab46e4c59 100644 --- a/arch/sparc/configs/sparc32_defconfig +++ b/arch/sparc/configs/sparc32_defconfig | |||
@@ -1,15 +1,21 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.25 | 3 | # Linux kernel version: 2.6.28 |
4 | # Tue Apr 29 01:28:58 2008 | 4 | # Thu Jan 8 16:45:44 2009 |
5 | # | 5 | # |
6 | # CONFIG_64BIT is not set | ||
7 | CONFIG_SPARC=y | ||
8 | CONFIG_SPARC32=y | ||
9 | # CONFIG_SPARC64 is not set | ||
10 | CONFIG_ARCH_DEFCONFIG="arch/sparc/configs/sparc32_defconfig" | ||
11 | CONFIG_BITS=32 | ||
12 | CONFIG_AUDIT_ARCH=y | ||
6 | CONFIG_MMU=y | 13 | CONFIG_MMU=y |
7 | CONFIG_HIGHMEM=y | 14 | CONFIG_HIGHMEM=y |
8 | CONFIG_ZONE_DMA=y | 15 | CONFIG_ZONE_DMA=y |
9 | CONFIG_GENERIC_ISA_DMA=y | 16 | CONFIG_GENERIC_ISA_DMA=y |
10 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 17 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
11 | CONFIG_OF=y | 18 | CONFIG_OF=y |
12 | CONFIG_HZ=100 | ||
13 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 19 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
14 | 20 | ||
15 | # | 21 | # |
@@ -66,31 +72,30 @@ CONFIG_SIGNALFD=y | |||
66 | CONFIG_TIMERFD=y | 72 | CONFIG_TIMERFD=y |
67 | CONFIG_EVENTFD=y | 73 | CONFIG_EVENTFD=y |
68 | CONFIG_SHMEM=y | 74 | CONFIG_SHMEM=y |
75 | CONFIG_AIO=y | ||
69 | CONFIG_VM_EVENT_COUNTERS=y | 76 | CONFIG_VM_EVENT_COUNTERS=y |
77 | CONFIG_PCI_QUIRKS=y | ||
70 | CONFIG_SLAB=y | 78 | CONFIG_SLAB=y |
71 | # CONFIG_SLUB is not set | 79 | # CONFIG_SLUB is not set |
72 | # CONFIG_SLOB is not set | 80 | # CONFIG_SLOB is not set |
73 | # CONFIG_PROFILING is not set | 81 | # CONFIG_PROFILING is not set |
74 | # CONFIG_MARKERS is not set | ||
75 | CONFIG_HAVE_OPROFILE=y | 82 | CONFIG_HAVE_OPROFILE=y |
76 | # CONFIG_HAVE_KPROBES is not set | 83 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
77 | # CONFIG_HAVE_KRETPROBES is not set | 84 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
78 | CONFIG_PROC_PAGE_MONITOR=y | ||
79 | CONFIG_SLABINFO=y | 85 | CONFIG_SLABINFO=y |
80 | CONFIG_RT_MUTEXES=y | 86 | CONFIG_RT_MUTEXES=y |
81 | # CONFIG_TINY_SHMEM is not set | ||
82 | CONFIG_BASE_SMALL=0 | 87 | CONFIG_BASE_SMALL=0 |
83 | CONFIG_MODULES=y | 88 | CONFIG_MODULES=y |
89 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
84 | CONFIG_MODULE_UNLOAD=y | 90 | CONFIG_MODULE_UNLOAD=y |
85 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 91 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
86 | # CONFIG_MODVERSIONS is not set | 92 | # CONFIG_MODVERSIONS is not set |
87 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 93 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
88 | CONFIG_KMOD=y | ||
89 | CONFIG_BLOCK=y | 94 | CONFIG_BLOCK=y |
90 | # CONFIG_LBD is not set | 95 | # CONFIG_LBD is not set |
91 | # CONFIG_BLK_DEV_IO_TRACE is not set | 96 | # CONFIG_BLK_DEV_IO_TRACE is not set |
92 | # CONFIG_LSF is not set | ||
93 | # CONFIG_BLK_DEV_BSG is not set | 97 | # CONFIG_BLK_DEV_BSG is not set |
98 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
94 | 99 | ||
95 | # | 100 | # |
96 | # IO Schedulers | 101 | # IO Schedulers |
@@ -105,59 +110,73 @@ CONFIG_DEFAULT_CFQ=y | |||
105 | # CONFIG_DEFAULT_NOOP is not set | 110 | # CONFIG_DEFAULT_NOOP is not set |
106 | CONFIG_DEFAULT_IOSCHED="cfq" | 111 | CONFIG_DEFAULT_IOSCHED="cfq" |
107 | CONFIG_CLASSIC_RCU=y | 112 | CONFIG_CLASSIC_RCU=y |
113 | # CONFIG_TREE_RCU is not set | ||
114 | # CONFIG_PREEMPT_RCU is not set | ||
115 | # CONFIG_TREE_RCU_TRACE is not set | ||
116 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
117 | # CONFIG_FREEZER is not set | ||
108 | 118 | ||
109 | # | 119 | # |
110 | # General machine setup | 120 | # Processor type and features |
111 | # | 121 | # |
112 | # CONFIG_SMP is not set | 122 | # CONFIG_SMP is not set |
113 | CONFIG_SPARC=y | 123 | # CONFIG_HZ_100 is not set |
114 | CONFIG_SPARC32=y | 124 | CONFIG_HZ_250=y |
115 | CONFIG_SBUS=y | 125 | # CONFIG_HZ_300 is not set |
116 | CONFIG_SBUSCHAR=y | 126 | # CONFIG_HZ_1000 is not set |
117 | CONFIG_SERIAL_CONSOLE=y | 127 | CONFIG_HZ=250 |
118 | CONFIG_SUN_AUXIO=y | 128 | # CONFIG_SCHED_HRTICK is not set |
119 | CONFIG_SUN_IO=y | ||
120 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 129 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
121 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 130 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
122 | CONFIG_GENERIC_HWEIGHT=y | 131 | CONFIG_GENERIC_HWEIGHT=y |
123 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 132 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
124 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | 133 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y |
125 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
126 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
127 | CONFIG_EMULATED_CMPXCHG=y | 134 | CONFIG_EMULATED_CMPXCHG=y |
128 | CONFIG_SUN_PM=y | ||
129 | # CONFIG_SUN4 is not set | ||
130 | CONFIG_PCI=y | ||
131 | CONFIG_PCI_SYSCALL=y | ||
132 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
133 | CONFIG_PCI_LEGACY=y | ||
134 | # CONFIG_PCI_DEBUG is not set | ||
135 | # CONFIG_NO_DMA is not set | ||
136 | CONFIG_SUN_OPENPROMFS=m | ||
137 | # CONFIG_SPARC_LED is not set | ||
138 | CONFIG_BINFMT_ELF=y | ||
139 | CONFIG_BINFMT_MISC=m | ||
140 | CONFIG_SELECT_MEMORY_MODEL=y | 135 | CONFIG_SELECT_MEMORY_MODEL=y |
141 | CONFIG_FLATMEM_MANUAL=y | 136 | CONFIG_FLATMEM_MANUAL=y |
142 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 137 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
143 | # CONFIG_SPARSEMEM_MANUAL is not set | 138 | # CONFIG_SPARSEMEM_MANUAL is not set |
144 | CONFIG_FLATMEM=y | 139 | CONFIG_FLATMEM=y |
145 | CONFIG_FLAT_NODE_MEM_MAP=y | 140 | CONFIG_FLAT_NODE_MEM_MAP=y |
146 | # CONFIG_SPARSEMEM_STATIC is not set | 141 | CONFIG_PAGEFLAGS_EXTENDED=y |
147 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
148 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 142 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
149 | # CONFIG_RESOURCES_64BIT is not set | 143 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
150 | CONFIG_ZONE_DMA_FLAG=1 | 144 | CONFIG_ZONE_DMA_FLAG=1 |
151 | CONFIG_BOUNCE=y | 145 | CONFIG_BOUNCE=y |
146 | CONFIG_UNEVICTABLE_LRU=y | ||
147 | CONFIG_SUN_PM=y | ||
148 | # CONFIG_SPARC_LED is not set | ||
149 | CONFIG_SERIAL_CONSOLE=y | ||
152 | 150 | ||
153 | # | 151 | # |
154 | # Networking | 152 | # Bus options (PCI etc.) |
155 | # | 153 | # |
154 | CONFIG_SBUS=y | ||
155 | CONFIG_SBUSCHAR=y | ||
156 | CONFIG_PCI=y | ||
157 | CONFIG_PCI_SYSCALL=y | ||
158 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
159 | CONFIG_PCI_LEGACY=y | ||
160 | # CONFIG_PCI_DEBUG is not set | ||
161 | # CONFIG_PCI_STUB is not set | ||
162 | # CONFIG_PCCARD is not set | ||
163 | CONFIG_SUN_OPENPROMFS=m | ||
164 | CONFIG_SPARC32_PCI=y | ||
165 | |||
166 | # | ||
167 | # Executable file formats | ||
168 | # | ||
169 | CONFIG_BINFMT_ELF=y | ||
170 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
171 | # CONFIG_HAVE_AOUT is not set | ||
172 | CONFIG_BINFMT_MISC=m | ||
156 | CONFIG_NET=y | 173 | CONFIG_NET=y |
157 | 174 | ||
158 | # | 175 | # |
159 | # Networking options | 176 | # Networking options |
160 | # | 177 | # |
178 | # CONFIG_NET_NS is not set | ||
179 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
161 | CONFIG_PACKET=y | 180 | CONFIG_PACKET=y |
162 | # CONFIG_PACKET_MMAP is not set | 181 | # CONFIG_PACKET_MMAP is not set |
163 | CONFIG_UNIX=y | 182 | CONFIG_UNIX=y |
@@ -166,6 +185,7 @@ CONFIG_XFRM_USER=m | |||
166 | # CONFIG_XFRM_SUB_POLICY is not set | 185 | # CONFIG_XFRM_SUB_POLICY is not set |
167 | # CONFIG_XFRM_MIGRATE is not set | 186 | # CONFIG_XFRM_MIGRATE is not set |
168 | # CONFIG_XFRM_STATISTICS is not set | 187 | # CONFIG_XFRM_STATISTICS is not set |
188 | CONFIG_XFRM_IPCOMP=y | ||
169 | CONFIG_NET_KEY=m | 189 | CONFIG_NET_KEY=m |
170 | # CONFIG_NET_KEY_MIGRATE is not set | 190 | # CONFIG_NET_KEY_MIGRATE is not set |
171 | CONFIG_INET=y | 191 | CONFIG_INET=y |
@@ -221,6 +241,7 @@ CONFIG_IPV6_TUNNEL=m | |||
221 | # CONFIG_TIPC is not set | 241 | # CONFIG_TIPC is not set |
222 | # CONFIG_ATM is not set | 242 | # CONFIG_ATM is not set |
223 | # CONFIG_BRIDGE is not set | 243 | # CONFIG_BRIDGE is not set |
244 | # CONFIG_NET_DSA is not set | ||
224 | # CONFIG_VLAN_8021Q is not set | 245 | # CONFIG_VLAN_8021Q is not set |
225 | # CONFIG_DECNET is not set | 246 | # CONFIG_DECNET is not set |
226 | # CONFIG_LLC2 is not set | 247 | # CONFIG_LLC2 is not set |
@@ -231,6 +252,7 @@ CONFIG_IPV6_TUNNEL=m | |||
231 | # CONFIG_ECONET is not set | 252 | # CONFIG_ECONET is not set |
232 | # CONFIG_WAN_ROUTER is not set | 253 | # CONFIG_WAN_ROUTER is not set |
233 | # CONFIG_NET_SCHED is not set | 254 | # CONFIG_NET_SCHED is not set |
255 | # CONFIG_DCB is not set | ||
234 | 256 | ||
235 | # | 257 | # |
236 | # Network testing | 258 | # Network testing |
@@ -241,14 +263,14 @@ CONFIG_NET_PKTGEN=m | |||
241 | # CONFIG_IRDA is not set | 263 | # CONFIG_IRDA is not set |
242 | # CONFIG_BT is not set | 264 | # CONFIG_BT is not set |
243 | # CONFIG_AF_RXRPC is not set | 265 | # CONFIG_AF_RXRPC is not set |
244 | 266 | # CONFIG_PHONET is not set | |
245 | # | 267 | CONFIG_WIRELESS=y |
246 | # Wireless | ||
247 | # | ||
248 | # CONFIG_CFG80211 is not set | 268 | # CONFIG_CFG80211 is not set |
269 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
249 | # CONFIG_WIRELESS_EXT is not set | 270 | # CONFIG_WIRELESS_EXT is not set |
271 | # CONFIG_LIB80211 is not set | ||
250 | # CONFIG_MAC80211 is not set | 272 | # CONFIG_MAC80211 is not set |
251 | # CONFIG_IEEE80211 is not set | 273 | # CONFIG_WIMAX is not set |
252 | # CONFIG_RFKILL is not set | 274 | # CONFIG_RFKILL is not set |
253 | # CONFIG_NET_9P is not set | 275 | # CONFIG_NET_9P is not set |
254 | 276 | ||
@@ -262,7 +284,9 @@ CONFIG_NET_PKTGEN=m | |||
262 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 284 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
263 | CONFIG_STANDALONE=y | 285 | CONFIG_STANDALONE=y |
264 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 286 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
265 | # CONFIG_FW_LOADER is not set | 287 | CONFIG_FW_LOADER=y |
288 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
289 | CONFIG_EXTRA_FIRMWARE="" | ||
266 | # CONFIG_DEBUG_DRIVER is not set | 290 | # CONFIG_DEBUG_DRIVER is not set |
267 | # CONFIG_DEBUG_DEVRES is not set | 291 | # CONFIG_DEBUG_DEVRES is not set |
268 | # CONFIG_SYS_HYPERVISOR is not set | 292 | # CONFIG_SYS_HYPERVISOR is not set |
@@ -286,12 +310,15 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
286 | # CONFIG_BLK_DEV_XIP is not set | 310 | # CONFIG_BLK_DEV_XIP is not set |
287 | # CONFIG_CDROM_PKTCDVD is not set | 311 | # CONFIG_CDROM_PKTCDVD is not set |
288 | # CONFIG_ATA_OVER_ETH is not set | 312 | # CONFIG_ATA_OVER_ETH is not set |
313 | # CONFIG_BLK_DEV_HD is not set | ||
289 | CONFIG_MISC_DEVICES=y | 314 | CONFIG_MISC_DEVICES=y |
290 | # CONFIG_PHANTOM is not set | 315 | # CONFIG_PHANTOM is not set |
291 | # CONFIG_EEPROM_93CX6 is not set | 316 | # CONFIG_EEPROM_93CX6 is not set |
292 | # CONFIG_SGI_IOC4 is not set | 317 | # CONFIG_SGI_IOC4 is not set |
293 | # CONFIG_TIFM_CORE is not set | 318 | # CONFIG_TIFM_CORE is not set |
294 | # CONFIG_ENCLOSURE_SERVICES is not set | 319 | # CONFIG_ENCLOSURE_SERVICES is not set |
320 | # CONFIG_HP_ILO is not set | ||
321 | # CONFIG_C2PORT is not set | ||
295 | CONFIG_HAVE_IDE=y | 322 | CONFIG_HAVE_IDE=y |
296 | # CONFIG_IDE is not set | 323 | # CONFIG_IDE is not set |
297 | 324 | ||
@@ -335,6 +362,7 @@ CONFIG_SCSI_SPI_ATTRS=y | |||
335 | # CONFIG_SCSI_SRP_ATTRS is not set | 362 | # CONFIG_SCSI_SRP_ATTRS is not set |
336 | CONFIG_SCSI_LOWLEVEL=y | 363 | CONFIG_SCSI_LOWLEVEL=y |
337 | # CONFIG_ISCSI_TCP is not set | 364 | # CONFIG_ISCSI_TCP is not set |
365 | # CONFIG_SCSI_CXGB3_ISCSI is not set | ||
338 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 366 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
339 | # CONFIG_SCSI_3W_9XXX is not set | 367 | # CONFIG_SCSI_3W_9XXX is not set |
340 | # CONFIG_SCSI_ACARD is not set | 368 | # CONFIG_SCSI_ACARD is not set |
@@ -348,6 +376,8 @@ CONFIG_SCSI_LOWLEVEL=y | |||
348 | # CONFIG_MEGARAID_LEGACY is not set | 376 | # CONFIG_MEGARAID_LEGACY is not set |
349 | # CONFIG_MEGARAID_SAS is not set | 377 | # CONFIG_MEGARAID_SAS is not set |
350 | # CONFIG_SCSI_HPTIOP is not set | 378 | # CONFIG_SCSI_HPTIOP is not set |
379 | # CONFIG_LIBFC is not set | ||
380 | # CONFIG_FCOE is not set | ||
351 | # CONFIG_SCSI_DMX3191D is not set | 381 | # CONFIG_SCSI_DMX3191D is not set |
352 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 382 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
353 | # CONFIG_SCSI_IPS is not set | 383 | # CONFIG_SCSI_IPS is not set |
@@ -367,6 +397,7 @@ CONFIG_SCSI_QLOGICPTI=m | |||
367 | # CONFIG_SCSI_DEBUG is not set | 397 | # CONFIG_SCSI_DEBUG is not set |
368 | CONFIG_SCSI_SUNESP=y | 398 | CONFIG_SCSI_SUNESP=y |
369 | # CONFIG_SCSI_SRP is not set | 399 | # CONFIG_SCSI_SRP is not set |
400 | # CONFIG_SCSI_DH is not set | ||
370 | # CONFIG_ATA is not set | 401 | # CONFIG_ATA is not set |
371 | # CONFIG_MD is not set | 402 | # CONFIG_MD is not set |
372 | # CONFIG_FUSION is not set | 403 | # CONFIG_FUSION is not set |
@@ -374,11 +405,14 @@ CONFIG_SCSI_SUNESP=y | |||
374 | # | 405 | # |
375 | # IEEE 1394 (FireWire) support | 406 | # IEEE 1394 (FireWire) support |
376 | # | 407 | # |
408 | |||
409 | # | ||
410 | # Enable only one of the two stacks, unless you know what you are doing | ||
411 | # | ||
377 | # CONFIG_FIREWIRE is not set | 412 | # CONFIG_FIREWIRE is not set |
378 | # CONFIG_IEEE1394 is not set | 413 | # CONFIG_IEEE1394 is not set |
379 | # CONFIG_I2O is not set | 414 | # CONFIG_I2O is not set |
380 | CONFIG_NETDEVICES=y | 415 | CONFIG_NETDEVICES=y |
381 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
382 | CONFIG_DUMMY=m | 416 | CONFIG_DUMMY=m |
383 | # CONFIG_BONDING is not set | 417 | # CONFIG_BONDING is not set |
384 | # CONFIG_MACVLAN is not set | 418 | # CONFIG_MACVLAN is not set |
@@ -402,14 +436,16 @@ CONFIG_SUNQE=m | |||
402 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 436 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
403 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 437 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
404 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 438 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
439 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
440 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
441 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
405 | # CONFIG_NET_PCI is not set | 442 | # CONFIG_NET_PCI is not set |
406 | # CONFIG_B44 is not set | 443 | # CONFIG_B44 is not set |
444 | # CONFIG_ATL2 is not set | ||
407 | CONFIG_NETDEV_1000=y | 445 | CONFIG_NETDEV_1000=y |
408 | # CONFIG_ACENIC is not set | 446 | # CONFIG_ACENIC is not set |
409 | # CONFIG_DL2K is not set | 447 | # CONFIG_DL2K is not set |
410 | # CONFIG_E1000 is not set | 448 | # CONFIG_E1000 is not set |
411 | # CONFIG_E1000E is not set | ||
412 | # CONFIG_E1000E_ENABLED is not set | ||
413 | # CONFIG_IP1000 is not set | 449 | # CONFIG_IP1000 is not set |
414 | # CONFIG_IGB is not set | 450 | # CONFIG_IGB is not set |
415 | # CONFIG_MYRI_SBUS is not set | 451 | # CONFIG_MYRI_SBUS is not set |
@@ -425,18 +461,25 @@ CONFIG_NETDEV_1000=y | |||
425 | # CONFIG_BNX2 is not set | 461 | # CONFIG_BNX2 is not set |
426 | # CONFIG_QLA3XXX is not set | 462 | # CONFIG_QLA3XXX is not set |
427 | # CONFIG_ATL1 is not set | 463 | # CONFIG_ATL1 is not set |
464 | # CONFIG_ATL1E is not set | ||
465 | # CONFIG_JME is not set | ||
428 | CONFIG_NETDEV_10000=y | 466 | CONFIG_NETDEV_10000=y |
429 | # CONFIG_CHELSIO_T1 is not set | 467 | # CONFIG_CHELSIO_T1 is not set |
468 | CONFIG_CHELSIO_T3_DEPENDS=y | ||
430 | # CONFIG_CHELSIO_T3 is not set | 469 | # CONFIG_CHELSIO_T3 is not set |
470 | # CONFIG_ENIC is not set | ||
431 | # CONFIG_IXGBE is not set | 471 | # CONFIG_IXGBE is not set |
432 | # CONFIG_IXGB is not set | 472 | # CONFIG_IXGB is not set |
433 | # CONFIG_S2IO is not set | 473 | # CONFIG_S2IO is not set |
434 | # CONFIG_MYRI10GE is not set | 474 | # CONFIG_MYRI10GE is not set |
435 | # CONFIG_NETXEN_NIC is not set | 475 | # CONFIG_NETXEN_NIC is not set |
436 | # CONFIG_NIU is not set | 476 | # CONFIG_NIU is not set |
477 | # CONFIG_MLX4_EN is not set | ||
437 | # CONFIG_MLX4_CORE is not set | 478 | # CONFIG_MLX4_CORE is not set |
438 | # CONFIG_TEHUTI is not set | 479 | # CONFIG_TEHUTI is not set |
439 | # CONFIG_BNX2X is not set | 480 | # CONFIG_BNX2X is not set |
481 | # CONFIG_QLGE is not set | ||
482 | # CONFIG_SFC is not set | ||
440 | # CONFIG_TR is not set | 483 | # CONFIG_TR is not set |
441 | 484 | ||
442 | # | 485 | # |
@@ -445,6 +488,10 @@ CONFIG_NETDEV_10000=y | |||
445 | # CONFIG_WLAN_PRE80211 is not set | 488 | # CONFIG_WLAN_PRE80211 is not set |
446 | # CONFIG_WLAN_80211 is not set | 489 | # CONFIG_WLAN_80211 is not set |
447 | # CONFIG_IWLWIFI_LEDS is not set | 490 | # CONFIG_IWLWIFI_LEDS is not set |
491 | |||
492 | # | ||
493 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
494 | # | ||
448 | # CONFIG_WAN is not set | 495 | # CONFIG_WAN is not set |
449 | # CONFIG_FDDI is not set | 496 | # CONFIG_FDDI is not set |
450 | # CONFIG_HIPPI is not set | 497 | # CONFIG_HIPPI is not set |
@@ -492,9 +539,11 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y | |||
492 | CONFIG_MOUSE_PS2_SYNAPTICS=y | 539 | CONFIG_MOUSE_PS2_SYNAPTICS=y |
493 | CONFIG_MOUSE_PS2_LIFEBOOK=y | 540 | CONFIG_MOUSE_PS2_LIFEBOOK=y |
494 | CONFIG_MOUSE_PS2_TRACKPOINT=y | 541 | CONFIG_MOUSE_PS2_TRACKPOINT=y |
542 | # CONFIG_MOUSE_PS2_ELANTECH is not set | ||
495 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set | 543 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set |
496 | CONFIG_MOUSE_SERIAL=m | 544 | CONFIG_MOUSE_SERIAL=m |
497 | # CONFIG_MOUSE_APPLETOUCH is not set | 545 | # CONFIG_MOUSE_APPLETOUCH is not set |
546 | # CONFIG_MOUSE_BCM5974 is not set | ||
498 | # CONFIG_MOUSE_VSXXXAA is not set | 547 | # CONFIG_MOUSE_VSXXXAA is not set |
499 | # CONFIG_INPUT_JOYSTICK is not set | 548 | # CONFIG_INPUT_JOYSTICK is not set |
500 | # CONFIG_INPUT_TABLET is not set | 549 | # CONFIG_INPUT_TABLET is not set |
@@ -516,15 +565,18 @@ CONFIG_SERIO_LIBPS2=m | |||
516 | # Character devices | 565 | # Character devices |
517 | # | 566 | # |
518 | CONFIG_VT=y | 567 | CONFIG_VT=y |
568 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
519 | CONFIG_VT_CONSOLE=y | 569 | CONFIG_VT_CONSOLE=y |
520 | CONFIG_HW_CONSOLE=y | 570 | CONFIG_HW_CONSOLE=y |
521 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | 571 | # CONFIG_VT_HW_CONSOLE_BINDING is not set |
572 | CONFIG_DEVKMEM=y | ||
522 | # CONFIG_SERIAL_NONSTANDARD is not set | 573 | # CONFIG_SERIAL_NONSTANDARD is not set |
523 | # CONFIG_NOZOMI is not set | 574 | # CONFIG_NOZOMI is not set |
524 | 575 | ||
525 | # | 576 | # |
526 | # Serial drivers | 577 | # Serial drivers |
527 | # | 578 | # |
579 | # CONFIG_SERIAL_8250 is not set | ||
528 | 580 | ||
529 | # | 581 | # |
530 | # Non-8250 serial port support | 582 | # Non-8250 serial port support |
@@ -540,23 +592,20 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
540 | CONFIG_CONSOLE_POLL=y | 592 | CONFIG_CONSOLE_POLL=y |
541 | # CONFIG_SERIAL_JSM is not set | 593 | # CONFIG_SERIAL_JSM is not set |
542 | CONFIG_UNIX98_PTYS=y | 594 | CONFIG_UNIX98_PTYS=y |
595 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
543 | CONFIG_LEGACY_PTYS=y | 596 | CONFIG_LEGACY_PTYS=y |
544 | CONFIG_LEGACY_PTY_COUNT=256 | 597 | CONFIG_LEGACY_PTY_COUNT=256 |
545 | # CONFIG_IPMI_HANDLER is not set | 598 | # CONFIG_IPMI_HANDLER is not set |
546 | CONFIG_HW_RANDOM=m | 599 | CONFIG_HW_RANDOM=m |
547 | CONFIG_JS_RTC=m | ||
548 | # CONFIG_R3964 is not set | 600 | # CONFIG_R3964 is not set |
549 | # CONFIG_APPLICOM is not set | 601 | # CONFIG_APPLICOM is not set |
550 | # CONFIG_RAW_DRIVER is not set | 602 | # CONFIG_RAW_DRIVER is not set |
551 | # CONFIG_TCG_TPM is not set | 603 | # CONFIG_TCG_TPM is not set |
552 | CONFIG_DEVPORT=y | 604 | CONFIG_DEVPORT=y |
553 | # CONFIG_I2C is not set | 605 | # CONFIG_I2C is not set |
554 | |||
555 | # | ||
556 | # SPI support | ||
557 | # | ||
558 | # CONFIG_SPI is not set | 606 | # CONFIG_SPI is not set |
559 | # CONFIG_SPI_MASTER is not set | 607 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
608 | # CONFIG_GPIOLIB is not set | ||
560 | # CONFIG_W1 is not set | 609 | # CONFIG_W1 is not set |
561 | # CONFIG_POWER_SUPPLY is not set | 610 | # CONFIG_POWER_SUPPLY is not set |
562 | CONFIG_HWMON=y | 611 | CONFIG_HWMON=y |
@@ -577,25 +626,38 @@ CONFIG_HWMON=y | |||
577 | # CONFIG_SENSORS_W83627EHF is not set | 626 | # CONFIG_SENSORS_W83627EHF is not set |
578 | # CONFIG_HWMON_DEBUG_CHIP is not set | 627 | # CONFIG_HWMON_DEBUG_CHIP is not set |
579 | # CONFIG_THERMAL is not set | 628 | # CONFIG_THERMAL is not set |
629 | # CONFIG_THERMAL_HWMON is not set | ||
580 | # CONFIG_WATCHDOG is not set | 630 | # CONFIG_WATCHDOG is not set |
631 | CONFIG_SSB_POSSIBLE=y | ||
581 | 632 | ||
582 | # | 633 | # |
583 | # Sonics Silicon Backplane | 634 | # Sonics Silicon Backplane |
584 | # | 635 | # |
585 | CONFIG_SSB_POSSIBLE=y | ||
586 | # CONFIG_SSB is not set | 636 | # CONFIG_SSB is not set |
587 | 637 | ||
588 | # | 638 | # |
589 | # Multifunction device drivers | 639 | # Multifunction device drivers |
590 | # | 640 | # |
641 | # CONFIG_MFD_CORE is not set | ||
591 | # CONFIG_MFD_SM501 is not set | 642 | # CONFIG_MFD_SM501 is not set |
592 | # CONFIG_HTC_PASIC3 is not set | 643 | # CONFIG_HTC_PASIC3 is not set |
644 | # CONFIG_MFD_TMIO is not set | ||
645 | # CONFIG_REGULATOR is not set | ||
593 | 646 | ||
594 | # | 647 | # |
595 | # Multimedia devices | 648 | # Multimedia devices |
596 | # | 649 | # |
650 | |||
651 | # | ||
652 | # Multimedia core support | ||
653 | # | ||
597 | # CONFIG_VIDEO_DEV is not set | 654 | # CONFIG_VIDEO_DEV is not set |
598 | # CONFIG_DVB_CORE is not set | 655 | # CONFIG_DVB_CORE is not set |
656 | # CONFIG_VIDEO_MEDIA is not set | ||
657 | |||
658 | # | ||
659 | # Multimedia drivers | ||
660 | # | ||
599 | # CONFIG_DAB is not set | 661 | # CONFIG_DAB is not set |
600 | 662 | ||
601 | # | 663 | # |
@@ -616,15 +678,17 @@ CONFIG_SSB_POSSIBLE=y | |||
616 | # | 678 | # |
617 | # CONFIG_PROM_CONSOLE is not set | 679 | # CONFIG_PROM_CONSOLE is not set |
618 | CONFIG_DUMMY_CONSOLE=y | 680 | CONFIG_DUMMY_CONSOLE=y |
619 | |||
620 | # | ||
621 | # Sound | ||
622 | # | ||
623 | # CONFIG_SOUND is not set | 681 | # CONFIG_SOUND is not set |
624 | CONFIG_HID_SUPPORT=y | 682 | CONFIG_HID_SUPPORT=y |
625 | CONFIG_HID=y | 683 | CONFIG_HID=y |
626 | # CONFIG_HID_DEBUG is not set | 684 | # CONFIG_HID_DEBUG is not set |
627 | # CONFIG_HIDRAW is not set | 685 | # CONFIG_HIDRAW is not set |
686 | # CONFIG_HID_PID is not set | ||
687 | |||
688 | # | ||
689 | # Special HID drivers | ||
690 | # | ||
691 | CONFIG_HID_COMPAT=y | ||
628 | CONFIG_USB_SUPPORT=y | 692 | CONFIG_USB_SUPPORT=y |
629 | CONFIG_USB_ARCH_HAS_HCD=y | 693 | CONFIG_USB_ARCH_HAS_HCD=y |
630 | CONFIG_USB_ARCH_HAS_OHCI=y | 694 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -632,32 +696,71 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
632 | # CONFIG_USB is not set | 696 | # CONFIG_USB is not set |
633 | 697 | ||
634 | # | 698 | # |
635 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 699 | # Enable Host or Gadget support to see Inventra options |
700 | # | ||
701 | |||
702 | # | ||
703 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; | ||
636 | # | 704 | # |
637 | # CONFIG_USB_GADGET is not set | 705 | # CONFIG_USB_GADGET is not set |
706 | |||
707 | # | ||
708 | # OTG and related infrastructure | ||
709 | # | ||
710 | # CONFIG_UWB is not set | ||
638 | # CONFIG_MMC is not set | 711 | # CONFIG_MMC is not set |
639 | # CONFIG_MEMSTICK is not set | 712 | # CONFIG_MEMSTICK is not set |
640 | # CONFIG_NEW_LEDS is not set | 713 | # CONFIG_NEW_LEDS is not set |
714 | # CONFIG_ACCESSIBILITY is not set | ||
641 | # CONFIG_INFINIBAND is not set | 715 | # CONFIG_INFINIBAND is not set |
642 | # CONFIG_RTC_CLASS is not set | 716 | CONFIG_RTC_LIB=y |
717 | CONFIG_RTC_CLASS=y | ||
718 | CONFIG_RTC_HCTOSYS=y | ||
719 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
720 | # CONFIG_RTC_DEBUG is not set | ||
721 | |||
722 | # | ||
723 | # RTC interfaces | ||
724 | # | ||
725 | CONFIG_RTC_INTF_SYSFS=y | ||
726 | CONFIG_RTC_INTF_PROC=y | ||
727 | CONFIG_RTC_INTF_DEV=y | ||
728 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
729 | # CONFIG_RTC_DRV_TEST is not set | ||
730 | |||
731 | # | ||
732 | # SPI RTC drivers | ||
733 | # | ||
734 | |||
735 | # | ||
736 | # Platform RTC drivers | ||
737 | # | ||
738 | # CONFIG_RTC_DRV_DS1286 is not set | ||
739 | # CONFIG_RTC_DRV_DS1511 is not set | ||
740 | # CONFIG_RTC_DRV_DS1553 is not set | ||
741 | # CONFIG_RTC_DRV_DS1742 is not set | ||
742 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
743 | # CONFIG_RTC_DRV_M48T86 is not set | ||
744 | # CONFIG_RTC_DRV_M48T35 is not set | ||
745 | CONFIG_RTC_DRV_M48T59=y | ||
746 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
747 | # CONFIG_RTC_DRV_V3020 is not set | ||
748 | |||
749 | # | ||
750 | # on-CPU RTC drivers | ||
751 | # | ||
752 | # CONFIG_DMADEVICES is not set | ||
643 | # CONFIG_UIO is not set | 753 | # CONFIG_UIO is not set |
754 | # CONFIG_STAGING is not set | ||
644 | 755 | ||
645 | # | 756 | # |
646 | # Misc Linux/SPARC drivers | 757 | # Misc Linux/SPARC drivers |
647 | # | 758 | # |
648 | CONFIG_SUN_OPENPROMIO=m | 759 | CONFIG_SUN_OPENPROMIO=m |
649 | CONFIG_SUN_MOSTEK_RTC=m | ||
650 | # CONFIG_SUN_BPP is not set | ||
651 | # CONFIG_SUN_VIDEOPIX is not set | ||
652 | # CONFIG_TADPOLE_TS102_UCTRL is not set | 760 | # CONFIG_TADPOLE_TS102_UCTRL is not set |
653 | # CONFIG_SUN_JSFLASH is not set | 761 | # CONFIG_SUN_JSFLASH is not set |
654 | 762 | ||
655 | # | 763 | # |
656 | # Unix98 PTY support | ||
657 | # | ||
658 | CONFIG_UNIX98_PTY_COUNT=256 | ||
659 | |||
660 | # | ||
661 | # File systems | 764 | # File systems |
662 | # | 765 | # |
663 | CONFIG_EXT2_FS=y | 766 | CONFIG_EXT2_FS=y |
@@ -666,11 +769,12 @@ CONFIG_EXT2_FS_POSIX_ACL=y | |||
666 | CONFIG_EXT2_FS_SECURITY=y | 769 | CONFIG_EXT2_FS_SECURITY=y |
667 | # CONFIG_EXT2_FS_XIP is not set | 770 | # CONFIG_EXT2_FS_XIP is not set |
668 | # CONFIG_EXT3_FS is not set | 771 | # CONFIG_EXT3_FS is not set |
669 | # CONFIG_EXT4DEV_FS is not set | 772 | # CONFIG_EXT4_FS is not set |
670 | CONFIG_FS_MBCACHE=y | 773 | CONFIG_FS_MBCACHE=y |
671 | # CONFIG_REISERFS_FS is not set | 774 | # CONFIG_REISERFS_FS is not set |
672 | # CONFIG_JFS_FS is not set | 775 | # CONFIG_JFS_FS is not set |
673 | CONFIG_FS_POSIX_ACL=y | 776 | CONFIG_FS_POSIX_ACL=y |
777 | CONFIG_FILE_LOCKING=y | ||
674 | # CONFIG_XFS_FS is not set | 778 | # CONFIG_XFS_FS is not set |
675 | # CONFIG_OCFS2_FS is not set | 779 | # CONFIG_OCFS2_FS is not set |
676 | CONFIG_DNOTIFY=y | 780 | CONFIG_DNOTIFY=y |
@@ -702,14 +806,12 @@ CONFIG_ISO9660_FS=m | |||
702 | CONFIG_PROC_FS=y | 806 | CONFIG_PROC_FS=y |
703 | CONFIG_PROC_KCORE=y | 807 | CONFIG_PROC_KCORE=y |
704 | CONFIG_PROC_SYSCTL=y | 808 | CONFIG_PROC_SYSCTL=y |
809 | CONFIG_PROC_PAGE_MONITOR=y | ||
705 | CONFIG_SYSFS=y | 810 | CONFIG_SYSFS=y |
706 | # CONFIG_TMPFS is not set | 811 | # CONFIG_TMPFS is not set |
707 | # CONFIG_HUGETLB_PAGE is not set | 812 | # CONFIG_HUGETLB_PAGE is not set |
708 | # CONFIG_CONFIGFS_FS is not set | 813 | # CONFIG_CONFIGFS_FS is not set |
709 | 814 | CONFIG_MISC_FILESYSTEMS=y | |
710 | # | ||
711 | # Miscellaneous filesystems | ||
712 | # | ||
713 | # CONFIG_ADFS_FS is not set | 815 | # CONFIG_ADFS_FS is not set |
714 | # CONFIG_AFFS_FS is not set | 816 | # CONFIG_AFFS_FS is not set |
715 | # CONFIG_HFS_FS is not set | 817 | # CONFIG_HFS_FS is not set |
@@ -720,6 +822,7 @@ CONFIG_SYSFS=y | |||
720 | # CONFIG_CRAMFS is not set | 822 | # CONFIG_CRAMFS is not set |
721 | # CONFIG_VXFS_FS is not set | 823 | # CONFIG_VXFS_FS is not set |
722 | # CONFIG_MINIX_FS is not set | 824 | # CONFIG_MINIX_FS is not set |
825 | # CONFIG_OMFS_FS is not set | ||
723 | # CONFIG_HPFS_FS is not set | 826 | # CONFIG_HPFS_FS is not set |
724 | # CONFIG_QNX4FS_FS is not set | 827 | # CONFIG_QNX4FS_FS is not set |
725 | CONFIG_ROMFS_FS=m | 828 | CONFIG_ROMFS_FS=m |
@@ -729,13 +832,13 @@ CONFIG_NETWORK_FILESYSTEMS=y | |||
729 | CONFIG_NFS_FS=y | 832 | CONFIG_NFS_FS=y |
730 | # CONFIG_NFS_V3 is not set | 833 | # CONFIG_NFS_V3 is not set |
731 | # CONFIG_NFS_V4 is not set | 834 | # CONFIG_NFS_V4 is not set |
732 | # CONFIG_NFSD is not set | ||
733 | CONFIG_ROOT_NFS=y | 835 | CONFIG_ROOT_NFS=y |
836 | # CONFIG_NFSD is not set | ||
734 | CONFIG_LOCKD=y | 837 | CONFIG_LOCKD=y |
735 | CONFIG_NFS_COMMON=y | 838 | CONFIG_NFS_COMMON=y |
736 | CONFIG_SUNRPC=y | 839 | CONFIG_SUNRPC=y |
737 | CONFIG_SUNRPC_GSS=m | 840 | CONFIG_SUNRPC_GSS=m |
738 | # CONFIG_SUNRPC_BIND34 is not set | 841 | # CONFIG_SUNRPC_REGISTER_V4 is not set |
739 | CONFIG_RPCSEC_GSS_KRB5=m | 842 | CONFIG_RPCSEC_GSS_KRB5=m |
740 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 843 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
741 | # CONFIG_SMB_FS is not set | 844 | # CONFIG_SMB_FS is not set |
@@ -806,9 +909,12 @@ CONFIG_MAGIC_SYSRQ=y | |||
806 | # CONFIG_HEADERS_CHECK is not set | 909 | # CONFIG_HEADERS_CHECK is not set |
807 | CONFIG_DEBUG_KERNEL=y | 910 | CONFIG_DEBUG_KERNEL=y |
808 | CONFIG_DETECT_SOFTLOCKUP=y | 911 | CONFIG_DETECT_SOFTLOCKUP=y |
912 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
913 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
809 | # CONFIG_SCHED_DEBUG is not set | 914 | # CONFIG_SCHED_DEBUG is not set |
810 | # CONFIG_SCHEDSTATS is not set | 915 | # CONFIG_SCHEDSTATS is not set |
811 | # CONFIG_TIMER_STATS is not set | 916 | # CONFIG_TIMER_STATS is not set |
917 | # CONFIG_DEBUG_OBJECTS is not set | ||
812 | # CONFIG_DEBUG_SLAB is not set | 918 | # CONFIG_DEBUG_SLAB is not set |
813 | # CONFIG_DEBUG_RT_MUTEXES is not set | 919 | # CONFIG_DEBUG_RT_MUTEXES is not set |
814 | # CONFIG_RT_MUTEX_TESTER is not set | 920 | # CONFIG_RT_MUTEX_TESTER is not set |
@@ -822,37 +928,59 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
822 | # CONFIG_DEBUG_INFO is not set | 928 | # CONFIG_DEBUG_INFO is not set |
823 | # CONFIG_DEBUG_VM is not set | 929 | # CONFIG_DEBUG_VM is not set |
824 | # CONFIG_DEBUG_WRITECOUNT is not set | 930 | # CONFIG_DEBUG_WRITECOUNT is not set |
931 | CONFIG_DEBUG_MEMORY_INIT=y | ||
825 | # CONFIG_DEBUG_LIST is not set | 932 | # CONFIG_DEBUG_LIST is not set |
826 | # CONFIG_DEBUG_SG is not set | 933 | # CONFIG_DEBUG_SG is not set |
827 | CONFIG_FRAME_POINTER=y | 934 | # CONFIG_DEBUG_NOTIFIERS is not set |
828 | # CONFIG_BOOT_PRINTK_DELAY is not set | 935 | # CONFIG_BOOT_PRINTK_DELAY is not set |
829 | # CONFIG_RCU_TORTURE_TEST is not set | 936 | # CONFIG_RCU_TORTURE_TEST is not set |
937 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
830 | # CONFIG_BACKTRACE_SELF_TEST is not set | 938 | # CONFIG_BACKTRACE_SELF_TEST is not set |
939 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
831 | # CONFIG_FAULT_INJECTION is not set | 940 | # CONFIG_FAULT_INJECTION is not set |
941 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
942 | |||
943 | # | ||
944 | # Tracers | ||
945 | # | ||
946 | # CONFIG_SCHED_TRACER is not set | ||
947 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | ||
948 | # CONFIG_BOOT_TRACER is not set | ||
949 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
950 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
832 | # CONFIG_SAMPLES is not set | 951 | # CONFIG_SAMPLES is not set |
833 | CONFIG_KGDB=y | ||
834 | CONFIG_HAVE_ARCH_KGDB=y | 952 | CONFIG_HAVE_ARCH_KGDB=y |
953 | CONFIG_KGDB=y | ||
835 | CONFIG_KGDB_SERIAL_CONSOLE=y | 954 | CONFIG_KGDB_SERIAL_CONSOLE=y |
836 | CONFIG_KGDB_TESTS=y | 955 | CONFIG_KGDB_TESTS=y |
837 | # CONFIG_KGDB_TESTS_ON_BOOT is not set | 956 | # CONFIG_KGDB_TESTS_ON_BOOT is not set |
838 | # CONFIG_DEBUG_STACK_USAGE is not set | 957 | # CONFIG_DEBUG_STACK_USAGE is not set |
958 | # CONFIG_STACK_DEBUG is not set | ||
839 | 959 | ||
840 | # | 960 | # |
841 | # Security options | 961 | # Security options |
842 | # | 962 | # |
843 | # CONFIG_KEYS is not set | 963 | # CONFIG_KEYS is not set |
844 | # CONFIG_SECURITY is not set | 964 | # CONFIG_SECURITY is not set |
965 | # CONFIG_SECURITYFS is not set | ||
845 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 966 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
846 | CONFIG_CRYPTO=y | 967 | CONFIG_CRYPTO=y |
847 | 968 | ||
848 | # | 969 | # |
849 | # Crypto core or helper | 970 | # Crypto core or helper |
850 | # | 971 | # |
972 | # CONFIG_CRYPTO_FIPS is not set | ||
851 | CONFIG_CRYPTO_ALGAPI=y | 973 | CONFIG_CRYPTO_ALGAPI=y |
974 | CONFIG_CRYPTO_ALGAPI2=y | ||
852 | CONFIG_CRYPTO_AEAD=y | 975 | CONFIG_CRYPTO_AEAD=y |
976 | CONFIG_CRYPTO_AEAD2=y | ||
853 | CONFIG_CRYPTO_BLKCIPHER=y | 977 | CONFIG_CRYPTO_BLKCIPHER=y |
978 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
854 | CONFIG_CRYPTO_HASH=y | 979 | CONFIG_CRYPTO_HASH=y |
980 | CONFIG_CRYPTO_HASH2=y | ||
981 | CONFIG_CRYPTO_RNG2=y | ||
855 | CONFIG_CRYPTO_MANAGER=y | 982 | CONFIG_CRYPTO_MANAGER=y |
983 | CONFIG_CRYPTO_MANAGER2=y | ||
856 | # CONFIG_CRYPTO_GF128MUL is not set | 984 | # CONFIG_CRYPTO_GF128MUL is not set |
857 | CONFIG_CRYPTO_NULL=m | 985 | CONFIG_CRYPTO_NULL=m |
858 | # CONFIG_CRYPTO_CRYPTD is not set | 986 | # CONFIG_CRYPTO_CRYPTD is not set |
@@ -890,6 +1018,10 @@ CONFIG_CRYPTO_CRC32C=m | |||
890 | CONFIG_CRYPTO_MD4=y | 1018 | CONFIG_CRYPTO_MD4=y |
891 | CONFIG_CRYPTO_MD5=y | 1019 | CONFIG_CRYPTO_MD5=y |
892 | CONFIG_CRYPTO_MICHAEL_MIC=m | 1020 | CONFIG_CRYPTO_MICHAEL_MIC=m |
1021 | # CONFIG_CRYPTO_RMD128 is not set | ||
1022 | # CONFIG_CRYPTO_RMD160 is not set | ||
1023 | # CONFIG_CRYPTO_RMD256 is not set | ||
1024 | # CONFIG_CRYPTO_RMD320 is not set | ||
893 | CONFIG_CRYPTO_SHA1=y | 1025 | CONFIG_CRYPTO_SHA1=y |
894 | CONFIG_CRYPTO_SHA256=m | 1026 | CONFIG_CRYPTO_SHA256=m |
895 | CONFIG_CRYPTO_SHA512=m | 1027 | CONFIG_CRYPTO_SHA512=m |
@@ -921,15 +1053,21 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m | |||
921 | # | 1053 | # |
922 | CONFIG_CRYPTO_DEFLATE=y | 1054 | CONFIG_CRYPTO_DEFLATE=y |
923 | # CONFIG_CRYPTO_LZO is not set | 1055 | # CONFIG_CRYPTO_LZO is not set |
1056 | |||
1057 | # | ||
1058 | # Random Number Generation | ||
1059 | # | ||
1060 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
924 | # CONFIG_CRYPTO_HW is not set | 1061 | # CONFIG_CRYPTO_HW is not set |
925 | 1062 | ||
926 | # | 1063 | # |
927 | # Library routines | 1064 | # Library routines |
928 | # | 1065 | # |
929 | CONFIG_BITREVERSE=y | 1066 | CONFIG_BITREVERSE=y |
930 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | 1067 | CONFIG_GENERIC_FIND_LAST_BIT=y |
931 | # CONFIG_CRC_CCITT is not set | 1068 | # CONFIG_CRC_CCITT is not set |
932 | # CONFIG_CRC16 is not set | 1069 | # CONFIG_CRC16 is not set |
1070 | # CONFIG_CRC_T10DIF is not set | ||
933 | # CONFIG_CRC_ITU_T is not set | 1071 | # CONFIG_CRC_ITU_T is not set |
934 | CONFIG_CRC32=y | 1072 | CONFIG_CRC32=y |
935 | # CONFIG_CRC7 is not set | 1073 | # CONFIG_CRC7 is not set |
diff --git a/arch/sparc/include/asm/Kbuild b/arch/sparc/include/asm/Kbuild index 95e38a43dff..deeb0fba802 100644 --- a/arch/sparc/include/asm/Kbuild +++ b/arch/sparc/include/asm/Kbuild | |||
@@ -17,4 +17,3 @@ header-y += traps.h | |||
17 | header-y += uctx.h | 17 | header-y += uctx.h |
18 | header-y += utrap.h | 18 | header-y += utrap.h |
19 | header-y += watchdog.h | 19 | header-y += watchdog.h |
20 | header-y += swab.h | ||
diff --git a/arch/sparc/include/asm/byteorder.h b/arch/sparc/include/asm/byteorder.h index 48a047cd6fa..ccc1b6b7de6 100644 --- a/arch/sparc/include/asm/byteorder.h +++ b/arch/sparc/include/asm/byteorder.h | |||
@@ -1,7 +1,6 @@ | |||
1 | #ifndef _SPARC_BYTEORDER_H | 1 | #ifndef _SPARC_BYTEORDER_H |
2 | #define _SPARC_BYTEORDER_H | 2 | #define _SPARC_BYTEORDER_H |
3 | 3 | ||
4 | #include <asm/swab.h> | ||
5 | #include <linux/byteorder/big_endian.h> | 4 | #include <linux/byteorder/big_endian.h> |
6 | 5 | ||
7 | #endif /* _SPARC_BYTEORDER_H */ | 6 | #endif /* _SPARC_BYTEORDER_H */ |
diff --git a/arch/sparc/include/asm/oplib_32.h b/arch/sparc/include/asm/oplib_32.h index 73d45521db0..33e31ce6b31 100644 --- a/arch/sparc/include/asm/oplib_32.h +++ b/arch/sparc/include/asm/oplib_32.h | |||
@@ -177,17 +177,6 @@ extern void prom_putsegment(int context, unsigned long virt_addr, | |||
177 | 177 | ||
178 | /* PROM device tree traversal functions... */ | 178 | /* PROM device tree traversal functions... */ |
179 | 179 | ||
180 | #ifdef PROMLIB_INTERNAL | ||
181 | |||
182 | /* Internal version of prom_getchild. */ | ||
183 | extern int __prom_getchild(int parent_node); | ||
184 | |||
185 | /* Internal version of prom_getsibling. */ | ||
186 | extern int __prom_getsibling(int node); | ||
187 | |||
188 | #endif | ||
189 | |||
190 | |||
191 | /* Get the child node of the given node, or zero if no child exists. */ | 180 | /* Get the child node of the given node, or zero if no child exists. */ |
192 | extern int prom_getchild(int parent_node); | 181 | extern int prom_getchild(int parent_node); |
193 | 182 | ||
diff --git a/arch/sparc/include/asm/oplib_64.h b/arch/sparc/include/asm/oplib_64.h index 6d2c2ca9803..a5db0317b5f 100644 --- a/arch/sparc/include/asm/oplib_64.h +++ b/arch/sparc/include/asm/oplib_64.h | |||
@@ -218,16 +218,6 @@ extern void prom_unmap(unsigned long size, unsigned long vaddr); | |||
218 | 218 | ||
219 | /* PROM device tree traversal functions... */ | 219 | /* PROM device tree traversal functions... */ |
220 | 220 | ||
221 | #ifdef PROMLIB_INTERNAL | ||
222 | |||
223 | /* Internal version of prom_getchild. */ | ||
224 | extern int __prom_getchild(int parent_node); | ||
225 | |||
226 | /* Internal version of prom_getsibling. */ | ||
227 | extern int __prom_getsibling(int node); | ||
228 | |||
229 | #endif | ||
230 | |||
231 | /* Get the child node of the given node, or zero if no child exists. */ | 221 | /* Get the child node of the given node, or zero if no child exists. */ |
232 | extern int prom_getchild(int parent_node); | 222 | extern int prom_getchild(int parent_node); |
233 | 223 | ||
diff --git a/arch/sparc/include/asm/signal.h b/arch/sparc/include/asm/signal.h index 41535e77b25..cba45206b7f 100644 --- a/arch/sparc/include/asm/signal.h +++ b/arch/sparc/include/asm/signal.h | |||
@@ -84,7 +84,11 @@ | |||
84 | 84 | ||
85 | #define __OLD_NSIG 32 | 85 | #define __OLD_NSIG 32 |
86 | #define __NEW_NSIG 64 | 86 | #define __NEW_NSIG 64 |
87 | #ifdef __arch64__ | ||
87 | #define _NSIG_BPW 64 | 88 | #define _NSIG_BPW 64 |
89 | #else | ||
90 | #define _NSIG_BPW 32 | ||
91 | #endif | ||
88 | #define _NSIG_WORDS (__NEW_NSIG / _NSIG_BPW) | 92 | #define _NSIG_WORDS (__NEW_NSIG / _NSIG_BPW) |
89 | 93 | ||
90 | #define SIGRTMIN 32 | 94 | #define SIGRTMIN 32 |
diff --git a/arch/sparc/include/asm/timer_64.h b/arch/sparc/include/asm/timer_64.h index 5b779fd1f78..ef3c3682deb 100644 --- a/arch/sparc/include/asm/timer_64.h +++ b/arch/sparc/include/asm/timer_64.h | |||
@@ -10,7 +10,7 @@ | |||
10 | #include <linux/init.h> | 10 | #include <linux/init.h> |
11 | 11 | ||
12 | struct sparc64_tick_ops { | 12 | struct sparc64_tick_ops { |
13 | unsigned long (*get_tick)(void); | 13 | unsigned long long (*get_tick)(void); |
14 | int (*add_compare)(unsigned long); | 14 | int (*add_compare)(unsigned long); |
15 | unsigned long softint_mask; | 15 | unsigned long softint_mask; |
16 | void (*disable_irq)(void); | 16 | void (*disable_irq)(void); |
diff --git a/arch/sparc/include/asm/topology_64.h b/arch/sparc/include/asm/topology_64.h index b8a65b64e1d..5bc0b8fd637 100644 --- a/arch/sparc/include/asm/topology_64.h +++ b/arch/sparc/include/asm/topology_64.h | |||
@@ -47,6 +47,10 @@ static inline int pcibus_to_node(struct pci_bus *pbus) | |||
47 | (pcibus_to_node(bus) == -1 ? \ | 47 | (pcibus_to_node(bus) == -1 ? \ |
48 | CPU_MASK_ALL : \ | 48 | CPU_MASK_ALL : \ |
49 | node_to_cpumask(pcibus_to_node(bus))) | 49 | node_to_cpumask(pcibus_to_node(bus))) |
50 | #define cpumask_of_pcibus(bus) \ | ||
51 | (pcibus_to_node(bus) == -1 ? \ | ||
52 | CPU_MASK_ALL_PTR : \ | ||
53 | cpumask_of_node(pcibus_to_node(bus))) | ||
50 | 54 | ||
51 | #define SD_NODE_INIT (struct sched_domain) { \ | 55 | #define SD_NODE_INIT (struct sched_domain) { \ |
52 | .min_interval = 8, \ | 56 | .min_interval = 8, \ |
diff --git a/arch/sparc/include/asm/types.h b/arch/sparc/include/asm/types.h index 8c28fde5eaa..2237118825d 100644 --- a/arch/sparc/include/asm/types.h +++ b/arch/sparc/include/asm/types.h | |||
@@ -11,7 +11,7 @@ | |||
11 | #if defined(__sparc__) && defined(__arch64__) | 11 | #if defined(__sparc__) && defined(__arch64__) |
12 | 12 | ||
13 | /*** SPARC 64 bit ***/ | 13 | /*** SPARC 64 bit ***/ |
14 | #include <asm-generic/int-l64.h> | 14 | #include <asm-generic/int-ll64.h> |
15 | 15 | ||
16 | #ifndef __ASSEMBLY__ | 16 | #ifndef __ASSEMBLY__ |
17 | 17 | ||
diff --git a/arch/sparc/kernel/auxio_32.c b/arch/sparc/kernel/auxio_32.c index 09c857215a5..45c41232fc4 100644 --- a/arch/sparc/kernel/auxio_32.c +++ b/arch/sparc/kernel/auxio_32.c | |||
@@ -76,6 +76,7 @@ unsigned char get_auxio(void) | |||
76 | return sbus_readb(auxio_register); | 76 | return sbus_readb(auxio_register); |
77 | return 0; | 77 | return 0; |
78 | } | 78 | } |
79 | EXPORT_SYMBOL(get_auxio); | ||
79 | 80 | ||
80 | void set_auxio(unsigned char bits_on, unsigned char bits_off) | 81 | void set_auxio(unsigned char bits_on, unsigned char bits_off) |
81 | { | 82 | { |
@@ -102,7 +103,7 @@ void set_auxio(unsigned char bits_on, unsigned char bits_off) | |||
102 | }; | 103 | }; |
103 | spin_unlock_irqrestore(&auxio_lock, flags); | 104 | spin_unlock_irqrestore(&auxio_lock, flags); |
104 | } | 105 | } |
105 | 106 | EXPORT_SYMBOL(set_auxio); | |
106 | 107 | ||
107 | /* sun4m power control register (AUXIO2) */ | 108 | /* sun4m power control register (AUXIO2) */ |
108 | 109 | ||
diff --git a/arch/sparc/kernel/auxio_64.c b/arch/sparc/kernel/auxio_64.c index 8b67347d422..9f52db2d441 100644 --- a/arch/sparc/kernel/auxio_64.c +++ b/arch/sparc/kernel/auxio_64.c | |||
@@ -72,6 +72,7 @@ void auxio_set_led(int on) | |||
72 | bit = (ebus ? AUXIO_PCIO_LED : AUXIO_AUX1_LED); | 72 | bit = (ebus ? AUXIO_PCIO_LED : AUXIO_AUX1_LED); |
73 | __auxio_set_bit(bit, on, ebus); | 73 | __auxio_set_bit(bit, on, ebus); |
74 | } | 74 | } |
75 | EXPORT_SYMBOL(auxio_set_led); | ||
75 | 76 | ||
76 | static void __auxio_sbus_set_lte(int on) | 77 | static void __auxio_sbus_set_lte(int on) |
77 | { | 78 | { |
@@ -90,6 +91,7 @@ void auxio_set_lte(int on) | |||
90 | break; | 91 | break; |
91 | } | 92 | } |
92 | } | 93 | } |
94 | EXPORT_SYMBOL(auxio_set_lte); | ||
93 | 95 | ||
94 | static struct of_device_id __initdata auxio_match[] = { | 96 | static struct of_device_id __initdata auxio_match[] = { |
95 | { | 97 | { |
diff --git a/arch/sparc/kernel/cpu.c b/arch/sparc/kernel/cpu.c index 6c2da2420f7..f0b825505da 100644 --- a/arch/sparc/kernel/cpu.c +++ b/arch/sparc/kernel/cpu.c | |||
@@ -5,6 +5,7 @@ | |||
5 | */ | 5 | */ |
6 | 6 | ||
7 | #include <linux/kernel.h> | 7 | #include <linux/kernel.h> |
8 | #include <linux/module.h> | ||
8 | #include <linux/init.h> | 9 | #include <linux/init.h> |
9 | #include <linux/smp.h> | 10 | #include <linux/smp.h> |
10 | #include <linux/threads.h> | 11 | #include <linux/threads.h> |
@@ -20,6 +21,7 @@ | |||
20 | #include "kernel.h" | 21 | #include "kernel.h" |
21 | 22 | ||
22 | DEFINE_PER_CPU(cpuinfo_sparc, __cpu_data) = { 0 }; | 23 | DEFINE_PER_CPU(cpuinfo_sparc, __cpu_data) = { 0 }; |
24 | EXPORT_PER_CPU_SYMBOL(__cpu_data); | ||
23 | 25 | ||
24 | struct cpu_info { | 26 | struct cpu_info { |
25 | int psr_vers; | 27 | int psr_vers; |
diff --git a/arch/sparc/kernel/ds.c b/arch/sparc/kernel/ds.c index f52e0534d91..57c39843fb2 100644 --- a/arch/sparc/kernel/ds.c +++ b/arch/sparc/kernel/ds.c | |||
@@ -286,7 +286,7 @@ static void md_update_data(struct ds_info *dp, | |||
286 | 286 | ||
287 | rp = (struct ds_md_update_req *) (dpkt + 1); | 287 | rp = (struct ds_md_update_req *) (dpkt + 1); |
288 | 288 | ||
289 | printk(KERN_INFO "ds-%lu: Machine description update.\n", dp->id); | 289 | printk(KERN_INFO "ds-%llu: Machine description update.\n", dp->id); |
290 | 290 | ||
291 | mdesc_update(); | 291 | mdesc_update(); |
292 | 292 | ||
@@ -325,7 +325,7 @@ static void domain_shutdown_data(struct ds_info *dp, | |||
325 | 325 | ||
326 | rp = (struct ds_shutdown_req *) (dpkt + 1); | 326 | rp = (struct ds_shutdown_req *) (dpkt + 1); |
327 | 327 | ||
328 | printk(KERN_ALERT "ds-%lu: Shutdown request from " | 328 | printk(KERN_ALERT "ds-%llu: Shutdown request from " |
329 | "LDOM manager received.\n", dp->id); | 329 | "LDOM manager received.\n", dp->id); |
330 | 330 | ||
331 | memset(&pkt, 0, sizeof(pkt)); | 331 | memset(&pkt, 0, sizeof(pkt)); |
@@ -365,7 +365,7 @@ static void domain_panic_data(struct ds_info *dp, | |||
365 | 365 | ||
366 | rp = (struct ds_panic_req *) (dpkt + 1); | 366 | rp = (struct ds_panic_req *) (dpkt + 1); |
367 | 367 | ||
368 | printk(KERN_ALERT "ds-%lu: Panic request from " | 368 | printk(KERN_ALERT "ds-%llu: Panic request from " |
369 | "LDOM manager received.\n", dp->id); | 369 | "LDOM manager received.\n", dp->id); |
370 | 370 | ||
371 | memset(&pkt, 0, sizeof(pkt)); | 371 | memset(&pkt, 0, sizeof(pkt)); |
@@ -549,7 +549,7 @@ static int __cpuinit dr_cpu_configure(struct ds_info *dp, | |||
549 | for_each_cpu_mask(cpu, *mask) { | 549 | for_each_cpu_mask(cpu, *mask) { |
550 | int err; | 550 | int err; |
551 | 551 | ||
552 | printk(KERN_INFO "ds-%lu: Starting cpu %d...\n", | 552 | printk(KERN_INFO "ds-%llu: Starting cpu %d...\n", |
553 | dp->id, cpu); | 553 | dp->id, cpu); |
554 | err = cpu_up(cpu); | 554 | err = cpu_up(cpu); |
555 | if (err) { | 555 | if (err) { |
@@ -565,7 +565,7 @@ static int __cpuinit dr_cpu_configure(struct ds_info *dp, | |||
565 | res = DR_CPU_RES_CPU_NOT_RESPONDING; | 565 | res = DR_CPU_RES_CPU_NOT_RESPONDING; |
566 | } | 566 | } |
567 | 567 | ||
568 | printk(KERN_INFO "ds-%lu: CPU startup failed err=%d\n", | 568 | printk(KERN_INFO "ds-%llu: CPU startup failed err=%d\n", |
569 | dp->id, err); | 569 | dp->id, err); |
570 | dr_cpu_mark(resp, cpu, ncpus, res, stat); | 570 | dr_cpu_mark(resp, cpu, ncpus, res, stat); |
571 | } | 571 | } |
@@ -605,7 +605,7 @@ static int dr_cpu_unconfigure(struct ds_info *dp, | |||
605 | for_each_cpu_mask(cpu, *mask) { | 605 | for_each_cpu_mask(cpu, *mask) { |
606 | int err; | 606 | int err; |
607 | 607 | ||
608 | printk(KERN_INFO "ds-%lu: Shutting down cpu %d...\n", | 608 | printk(KERN_INFO "ds-%llu: Shutting down cpu %d...\n", |
609 | dp->id, cpu); | 609 | dp->id, cpu); |
610 | err = cpu_down(cpu); | 610 | err = cpu_down(cpu); |
611 | if (err) | 611 | if (err) |
@@ -684,7 +684,7 @@ static void ds_pri_data(struct ds_info *dp, | |||
684 | 684 | ||
685 | rp = (struct ds_pri_msg *) (dpkt + 1); | 685 | rp = (struct ds_pri_msg *) (dpkt + 1); |
686 | 686 | ||
687 | printk(KERN_INFO "ds-%lu: PRI REQ [%lx:%lx], len=%d\n", | 687 | printk(KERN_INFO "ds-%llu: PRI REQ [%llx:%llx], len=%d\n", |
688 | dp->id, rp->req_num, rp->type, len); | 688 | dp->id, rp->req_num, rp->type, len); |
689 | } | 689 | } |
690 | 690 | ||
@@ -816,7 +816,7 @@ void ldom_set_var(const char *var, const char *value) | |||
816 | 816 | ||
817 | if (ds_var_doorbell == 0 || | 817 | if (ds_var_doorbell == 0 || |
818 | ds_var_response != DS_VAR_SUCCESS) | 818 | ds_var_response != DS_VAR_SUCCESS) |
819 | printk(KERN_ERR "ds-%lu: var-config [%s:%s] " | 819 | printk(KERN_ERR "ds-%llu: var-config [%s:%s] " |
820 | "failed, response(%d).\n", | 820 | "failed, response(%d).\n", |
821 | dp->id, var, value, | 821 | dp->id, var, value, |
822 | ds_var_response); | 822 | ds_var_response); |
@@ -850,7 +850,7 @@ void ldom_power_off(void) | |||
850 | 850 | ||
851 | static void ds_conn_reset(struct ds_info *dp) | 851 | static void ds_conn_reset(struct ds_info *dp) |
852 | { | 852 | { |
853 | printk(KERN_ERR "ds-%lu: ds_conn_reset() from %p\n", | 853 | printk(KERN_ERR "ds-%llu: ds_conn_reset() from %p\n", |
854 | dp->id, __builtin_return_address(0)); | 854 | dp->id, __builtin_return_address(0)); |
855 | } | 855 | } |
856 | 856 | ||
@@ -912,11 +912,11 @@ static int ds_handshake(struct ds_info *dp, struct ds_msg_tag *pkt) | |||
912 | struct ds_cap_state *cp = find_cap(dp, ap->handle); | 912 | struct ds_cap_state *cp = find_cap(dp, ap->handle); |
913 | 913 | ||
914 | if (!cp) { | 914 | if (!cp) { |
915 | printk(KERN_ERR "ds-%lu: REG ACK for unknown " | 915 | printk(KERN_ERR "ds-%llu: REG ACK for unknown " |
916 | "handle %lx\n", dp->id, ap->handle); | 916 | "handle %llx\n", dp->id, ap->handle); |
917 | return 0; | 917 | return 0; |
918 | } | 918 | } |
919 | printk(KERN_INFO "ds-%lu: Registered %s service.\n", | 919 | printk(KERN_INFO "ds-%llu: Registered %s service.\n", |
920 | dp->id, cp->service_id); | 920 | dp->id, cp->service_id); |
921 | cp->state = CAP_STATE_REGISTERED; | 921 | cp->state = CAP_STATE_REGISTERED; |
922 | } else if (pkt->type == DS_REG_NACK) { | 922 | } else if (pkt->type == DS_REG_NACK) { |
@@ -924,8 +924,8 @@ static int ds_handshake(struct ds_info *dp, struct ds_msg_tag *pkt) | |||
924 | struct ds_cap_state *cp = find_cap(dp, np->handle); | 924 | struct ds_cap_state *cp = find_cap(dp, np->handle); |
925 | 925 | ||
926 | if (!cp) { | 926 | if (!cp) { |
927 | printk(KERN_ERR "ds-%lu: REG NACK for " | 927 | printk(KERN_ERR "ds-%llu: REG NACK for " |
928 | "unknown handle %lx\n", | 928 | "unknown handle %llx\n", |
929 | dp->id, np->handle); | 929 | dp->id, np->handle); |
930 | return 0; | 930 | return 0; |
931 | } | 931 | } |
@@ -982,8 +982,8 @@ static void process_ds_work(void) | |||
982 | int req_len = qp->req_len; | 982 | int req_len = qp->req_len; |
983 | 983 | ||
984 | if (!cp) { | 984 | if (!cp) { |
985 | printk(KERN_ERR "ds-%lu: Data for unknown " | 985 | printk(KERN_ERR "ds-%llu: Data for unknown " |
986 | "handle %lu\n", | 986 | "handle %llu\n", |
987 | dp->id, dpkt->handle); | 987 | dp->id, dpkt->handle); |
988 | 988 | ||
989 | spin_lock_irqsave(&ds_lock, flags); | 989 | spin_lock_irqsave(&ds_lock, flags); |
@@ -1085,7 +1085,7 @@ static void ds_event(void *arg, int event) | |||
1085 | } | 1085 | } |
1086 | 1086 | ||
1087 | if (event != LDC_EVENT_DATA_READY) { | 1087 | if (event != LDC_EVENT_DATA_READY) { |
1088 | printk(KERN_WARNING "ds-%lu: Unexpected LDC event %d\n", | 1088 | printk(KERN_WARNING "ds-%llu: Unexpected LDC event %d\n", |
1089 | dp->id, event); | 1089 | dp->id, event); |
1090 | spin_unlock_irqrestore(&ds_lock, flags); | 1090 | spin_unlock_irqrestore(&ds_lock, flags); |
1091 | return; | 1091 | return; |
diff --git a/arch/sparc/kernel/entry.S b/arch/sparc/kernel/entry.S index faf9ccd9ef5..f41ecc5ac0b 100644 --- a/arch/sparc/kernel/entry.S +++ b/arch/sparc/kernel/entry.S | |||
@@ -1088,8 +1088,8 @@ sunos_execv: | |||
1088 | ld [%sp + STACKFRAME_SZ + PT_I0], %o0 | 1088 | ld [%sp + STACKFRAME_SZ + PT_I0], %o0 |
1089 | 1089 | ||
1090 | .align 4 | 1090 | .align 4 |
1091 | .globl sys_pipe | 1091 | .globl sys_sparc_pipe |
1092 | sys_pipe: | 1092 | sys_sparc_pipe: |
1093 | mov %o7, %l5 | 1093 | mov %o7, %l5 |
1094 | add %sp, STACKFRAME_SZ, %o0 ! pt_regs *regs arg | 1094 | add %sp, STACKFRAME_SZ, %o0 ! pt_regs *regs arg |
1095 | call sparc_pipe | 1095 | call sparc_pipe |
diff --git a/arch/sparc/kernel/idprom.c b/arch/sparc/kernel/idprom.c index c16135e0c15..57922f69c3f 100644 --- a/arch/sparc/kernel/idprom.c +++ b/arch/sparc/kernel/idprom.c | |||
@@ -8,11 +8,14 @@ | |||
8 | #include <linux/kernel.h> | 8 | #include <linux/kernel.h> |
9 | #include <linux/types.h> | 9 | #include <linux/types.h> |
10 | #include <linux/init.h> | 10 | #include <linux/init.h> |
11 | #include <linux/module.h> | ||
11 | 12 | ||
12 | #include <asm/oplib.h> | 13 | #include <asm/oplib.h> |
13 | #include <asm/idprom.h> | 14 | #include <asm/idprom.h> |
14 | 15 | ||
15 | struct idprom *idprom; | 16 | struct idprom *idprom; |
17 | EXPORT_SYMBOL(idprom); | ||
18 | |||
16 | static struct idprom idprom_buffer; | 19 | static struct idprom idprom_buffer; |
17 | 20 | ||
18 | #ifdef CONFIG_SPARC32 | 21 | #ifdef CONFIG_SPARC32 |
diff --git a/arch/sparc/kernel/iommu.c b/arch/sparc/kernel/iommu.c index 1cc1995531e..d8900e1d5aa 100644 --- a/arch/sparc/kernel/iommu.c +++ b/arch/sparc/kernel/iommu.c | |||
@@ -434,7 +434,7 @@ static void strbuf_flush(struct strbuf *strbuf, struct iommu *iommu, | |||
434 | val = iommu_read(matchreg); | 434 | val = iommu_read(matchreg); |
435 | if (unlikely(val)) { | 435 | if (unlikely(val)) { |
436 | printk(KERN_WARNING "strbuf_flush: ctx flush " | 436 | printk(KERN_WARNING "strbuf_flush: ctx flush " |
437 | "timeout matchreg[%lx] ctx[%lx]\n", | 437 | "timeout matchreg[%llx] ctx[%lx]\n", |
438 | val, ctx); | 438 | val, ctx); |
439 | goto do_page_flush; | 439 | goto do_page_flush; |
440 | } | 440 | } |
diff --git a/arch/sparc/kernel/ioport.c b/arch/sparc/kernel/ioport.c index 7ce14f05eb4..87ea0d03d97 100644 --- a/arch/sparc/kernel/ioport.c +++ b/arch/sparc/kernel/ioport.c | |||
@@ -120,6 +120,7 @@ void __iomem *ioremap(unsigned long offset, unsigned long size) | |||
120 | sprintf(name, "phys_%08x", (u32)offset); | 120 | sprintf(name, "phys_%08x", (u32)offset); |
121 | return _sparc_alloc_io(0, offset, size, name); | 121 | return _sparc_alloc_io(0, offset, size, name); |
122 | } | 122 | } |
123 | EXPORT_SYMBOL(ioremap); | ||
123 | 124 | ||
124 | /* | 125 | /* |
125 | * Comlimentary to ioremap(). | 126 | * Comlimentary to ioremap(). |
@@ -141,6 +142,7 @@ void iounmap(volatile void __iomem *virtual) | |||
141 | kfree(res); | 142 | kfree(res); |
142 | } | 143 | } |
143 | } | 144 | } |
145 | EXPORT_SYMBOL(iounmap); | ||
144 | 146 | ||
145 | void __iomem *of_ioremap(struct resource *res, unsigned long offset, | 147 | void __iomem *of_ioremap(struct resource *res, unsigned long offset, |
146 | unsigned long size, char *name) | 148 | unsigned long size, char *name) |
@@ -237,6 +239,7 @@ void sbus_set_sbus64(struct device *dev, int x) | |||
237 | { | 239 | { |
238 | printk("sbus_set_sbus64: unsupported\n"); | 240 | printk("sbus_set_sbus64: unsupported\n"); |
239 | } | 241 | } |
242 | EXPORT_SYMBOL(sbus_set_sbus64); | ||
240 | 243 | ||
241 | /* | 244 | /* |
242 | * Allocate a chunk of memory suitable for DMA. | 245 | * 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 | *pba = virt_to_phys(va); /* equals virt_to_bus (R.I.P.) for us. */ | 439 | *pba = virt_to_phys(va); /* equals virt_to_bus (R.I.P.) for us. */ |
437 | return (void *) res->start; | 440 | return (void *) res->start; |
438 | } | 441 | } |
442 | EXPORT_SYMBOL(pci_alloc_consistent); | ||
439 | 443 | ||
440 | /* Free and unmap a consistent DMA buffer. | 444 | /* Free and unmap a consistent DMA buffer. |
441 | * cpu_addr is what was returned from pci_alloc_consistent, | 445 | * 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 | 481 | ||
478 | free_pages(pgp, get_order(n)); | 482 | free_pages(pgp, get_order(n)); |
479 | } | 483 | } |
484 | EXPORT_SYMBOL(pci_free_consistent); | ||
480 | 485 | ||
481 | /* Map a single buffer of the indicated size for DMA in streaming mode. | 486 | /* Map a single buffer of the indicated size for DMA in streaming mode. |
482 | * The 32-bit bus address to use is returned. | 487 | * 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 | /* IIep is write-through, not flushing. */ | 496 | /* IIep is write-through, not flushing. */ |
492 | return virt_to_phys(ptr); | 497 | return virt_to_phys(ptr); |
493 | } | 498 | } |
499 | EXPORT_SYMBOL(pci_map_single); | ||
494 | 500 | ||
495 | /* Unmap a single streaming mode DMA translation. The dma_addr and size | 501 | /* Unmap a single streaming mode DMA translation. The dma_addr and size |
496 | * must match what was provided for in a previous pci_map_single call. All | 502 | * 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 | (size + PAGE_SIZE-1) & PAGE_MASK); | 514 | (size + PAGE_SIZE-1) & PAGE_MASK); |
509 | } | 515 | } |
510 | } | 516 | } |
517 | EXPORT_SYMBOL(pci_unmap_single); | ||
511 | 518 | ||
512 | /* | 519 | /* |
513 | * Same as pci_map_single, but with pages. | 520 | * 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 | /* IIep is write-through, not flushing. */ | 526 | /* IIep is write-through, not flushing. */ |
520 | return page_to_phys(page) + offset; | 527 | return page_to_phys(page) + offset; |
521 | } | 528 | } |
529 | EXPORT_SYMBOL(pci_map_page); | ||
522 | 530 | ||
523 | void pci_unmap_page(struct pci_dev *hwdev, | 531 | void pci_unmap_page(struct pci_dev *hwdev, |
524 | dma_addr_t dma_address, size_t size, int direction) | 532 | dma_addr_t dma_address, size_t size, int direction) |
@@ -526,6 +534,7 @@ void pci_unmap_page(struct pci_dev *hwdev, | |||
526 | BUG_ON(direction == PCI_DMA_NONE); | 534 | BUG_ON(direction == PCI_DMA_NONE); |
527 | /* mmu_inval_dma_area XXX */ | 535 | /* mmu_inval_dma_area XXX */ |
528 | } | 536 | } |
537 | EXPORT_SYMBOL(pci_unmap_page); | ||
529 | 538 | ||
530 | /* Map a set of buffers described by scatterlist in streaming | 539 | /* Map a set of buffers described by scatterlist in streaming |
531 | * mode for DMA. This is the scather-gather version of the | 540 | * 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 | } | 566 | } |
558 | return nents; | 567 | return nents; |
559 | } | 568 | } |
569 | EXPORT_SYMBOL(pci_map_sg); | ||
560 | 570 | ||
561 | /* Unmap a set of streaming mode DMA translations. | 571 | /* Unmap a set of streaming mode DMA translations. |
562 | * Again, cpu read rules concerning calls here are the same as for | 572 | * 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 | } | 588 | } |
579 | } | 589 | } |
580 | } | 590 | } |
591 | EXPORT_SYMBOL(pci_unmap_sg); | ||
581 | 592 | ||
582 | /* Make physical memory consistent for a single | 593 | /* Make physical memory consistent for a single |
583 | * streaming mode DMA translation before or after a transfer. | 594 | * 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 | (size + PAGE_SIZE-1) & PAGE_MASK); | 608 | (size + PAGE_SIZE-1) & PAGE_MASK); |
598 | } | 609 | } |
599 | } | 610 | } |
611 | EXPORT_SYMBOL(pci_dma_sync_single_for_cpu); | ||
600 | 612 | ||
601 | void pci_dma_sync_single_for_device(struct pci_dev *hwdev, dma_addr_t ba, size_t size, int direction) | 613 | void pci_dma_sync_single_for_device(struct pci_dev *hwdev, dma_addr_t ba, size_t size, int direction) |
602 | { | 614 | { |
@@ -606,6 +618,7 @@ void pci_dma_sync_single_for_device(struct pci_dev *hwdev, dma_addr_t ba, size_t | |||
606 | (size + PAGE_SIZE-1) & PAGE_MASK); | 618 | (size + PAGE_SIZE-1) & PAGE_MASK); |
607 | } | 619 | } |
608 | } | 620 | } |
621 | EXPORT_SYMBOL(pci_dma_sync_single_for_device); | ||
609 | 622 | ||
610 | /* Make physical memory consistent for a set of streaming | 623 | /* Make physical memory consistent for a set of streaming |
611 | * mode DMA translations after a transfer. | 624 | * 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 | } | 641 | } |
629 | } | 642 | } |
630 | } | 643 | } |
644 | EXPORT_SYMBOL(pci_dma_sync_sg_for_cpu); | ||
631 | 645 | ||
632 | void pci_dma_sync_sg_for_device(struct pci_dev *hwdev, struct scatterlist *sgl, int nents, int direction) | 646 | void pci_dma_sync_sg_for_device(struct pci_dev *hwdev, struct scatterlist *sgl, int nents, int direction) |
633 | { | 647 | { |
@@ -644,6 +658,7 @@ void pci_dma_sync_sg_for_device(struct pci_dev *hwdev, struct scatterlist *sgl, | |||
644 | } | 658 | } |
645 | } | 659 | } |
646 | } | 660 | } |
661 | EXPORT_SYMBOL(pci_dma_sync_sg_for_device); | ||
647 | #endif /* CONFIG_PCI */ | 662 | #endif /* CONFIG_PCI */ |
648 | 663 | ||
649 | #ifdef CONFIG_PROC_FS | 664 | #ifdef CONFIG_PROC_FS |
diff --git a/arch/sparc/kernel/irq_32.c b/arch/sparc/kernel/irq_32.c index 1eff942fe22..44dd5ee6433 100644 --- a/arch/sparc/kernel/irq_32.c +++ b/arch/sparc/kernel/irq_32.c | |||
@@ -294,6 +294,7 @@ void synchronize_irq(unsigned int irq) | |||
294 | while (sparc_irq[cpu_irq].flags & SPARC_IRQ_INPROGRESS) | 294 | while (sparc_irq[cpu_irq].flags & SPARC_IRQ_INPROGRESS) |
295 | cpu_relax(); | 295 | cpu_relax(); |
296 | } | 296 | } |
297 | EXPORT_SYMBOL(synchronize_irq); | ||
297 | #endif /* SMP */ | 298 | #endif /* SMP */ |
298 | 299 | ||
299 | void unexpected_irq(int irq, void *dev_id, struct pt_regs * regs) | 300 | void unexpected_irq(int irq, void *dev_id, struct pt_regs * regs) |
diff --git a/arch/sparc/kernel/kprobes.c b/arch/sparc/kernel/kprobes.c index 201a6e547e4..3bc6527c95a 100644 --- a/arch/sparc/kernel/kprobes.c +++ b/arch/sparc/kernel/kprobes.c | |||
@@ -517,7 +517,7 @@ int __kprobes trampoline_probe_handler(struct kprobe *p, struct pt_regs *regs) | |||
517 | /* | 517 | /* |
518 | * It is possible to have multiple instances associated with a given | 518 | * It is possible to have multiple instances associated with a given |
519 | * task either because an multiple functions in the call path | 519 | * task either because an multiple functions in the call path |
520 | * have a return probe installed on them, and/or more then one return | 520 | * have a return probe installed on them, and/or more than one return |
521 | * return probe was registered for a target function. | 521 | * return probe was registered for a target function. |
522 | * | 522 | * |
523 | * We can handle this because: | 523 | * We can handle this because: |
diff --git a/arch/sparc/kernel/ldc.c b/arch/sparc/kernel/ldc.c index d68982330f6..6ce5d2598a0 100644 --- a/arch/sparc/kernel/ldc.c +++ b/arch/sparc/kernel/ldc.c | |||
@@ -625,22 +625,23 @@ static int process_ver_ack(struct ldc_channel *lp, struct ldc_version *vp) | |||
625 | static int process_ver_nack(struct ldc_channel *lp, struct ldc_version *vp) | 625 | static int process_ver_nack(struct ldc_channel *lp, struct ldc_version *vp) |
626 | { | 626 | { |
627 | struct ldc_version *vap; | 627 | struct ldc_version *vap; |
628 | struct ldc_packet *p; | ||
629 | unsigned long new_tail; | ||
628 | 630 | ||
629 | if ((vp->major == 0 && vp->minor == 0) || | 631 | if (vp->major == 0 && vp->minor == 0) |
630 | !(vap = find_by_major(vp->major))) { | 632 | return ldc_abort(lp); |
633 | |||
634 | vap = find_by_major(vp->major); | ||
635 | if (!vap) | ||
631 | return ldc_abort(lp); | 636 | return ldc_abort(lp); |
632 | } else { | ||
633 | struct ldc_packet *p; | ||
634 | unsigned long new_tail; | ||
635 | 637 | ||
636 | p = handshake_compose_ctrl(lp, LDC_INFO, LDC_VERS, | 638 | p = handshake_compose_ctrl(lp, LDC_INFO, LDC_VERS, |
637 | vap, sizeof(*vap), | 639 | vap, sizeof(*vap), |
638 | &new_tail); | 640 | &new_tail); |
639 | if (p) | 641 | if (!p) |
640 | return send_tx_packet(lp, p, new_tail); | 642 | return ldc_abort(lp); |
641 | else | 643 | |
642 | return ldc_abort(lp); | 644 | return send_tx_packet(lp, p, new_tail); |
643 | } | ||
644 | } | 645 | } |
645 | 646 | ||
646 | static int process_version(struct ldc_channel *lp, | 647 | static int process_version(struct ldc_channel *lp, |
diff --git a/arch/sparc/kernel/mdesc.c b/arch/sparc/kernel/mdesc.c index 3c539a6d7c1..3f79f0c23a0 100644 --- a/arch/sparc/kernel/mdesc.c +++ b/arch/sparc/kernel/mdesc.c | |||
@@ -536,24 +536,24 @@ static void __init report_platform_properties(void) | |||
536 | 536 | ||
537 | v = mdesc_get_property(hp, pn, "hostid", NULL); | 537 | v = mdesc_get_property(hp, pn, "hostid", NULL); |
538 | if (v) | 538 | if (v) |
539 | printk("PLATFORM: hostid [%08lx]\n", *v); | 539 | printk("PLATFORM: hostid [%08llx]\n", *v); |
540 | v = mdesc_get_property(hp, pn, "serial#", NULL); | 540 | v = mdesc_get_property(hp, pn, "serial#", NULL); |
541 | if (v) | 541 | if (v) |
542 | printk("PLATFORM: serial# [%08lx]\n", *v); | 542 | printk("PLATFORM: serial# [%08llx]\n", *v); |
543 | v = mdesc_get_property(hp, pn, "stick-frequency", NULL); | 543 | v = mdesc_get_property(hp, pn, "stick-frequency", NULL); |
544 | printk("PLATFORM: stick-frequency [%08lx]\n", *v); | 544 | printk("PLATFORM: stick-frequency [%08llx]\n", *v); |
545 | v = mdesc_get_property(hp, pn, "mac-address", NULL); | 545 | v = mdesc_get_property(hp, pn, "mac-address", NULL); |
546 | if (v) | 546 | if (v) |
547 | printk("PLATFORM: mac-address [%lx]\n", *v); | 547 | printk("PLATFORM: mac-address [%llx]\n", *v); |
548 | v = mdesc_get_property(hp, pn, "watchdog-resolution", NULL); | 548 | v = mdesc_get_property(hp, pn, "watchdog-resolution", NULL); |
549 | if (v) | 549 | if (v) |
550 | printk("PLATFORM: watchdog-resolution [%lu ms]\n", *v); | 550 | printk("PLATFORM: watchdog-resolution [%llu ms]\n", *v); |
551 | v = mdesc_get_property(hp, pn, "watchdog-max-timeout", NULL); | 551 | v = mdesc_get_property(hp, pn, "watchdog-max-timeout", NULL); |
552 | if (v) | 552 | if (v) |
553 | printk("PLATFORM: watchdog-max-timeout [%lu ms]\n", *v); | 553 | printk("PLATFORM: watchdog-max-timeout [%llu ms]\n", *v); |
554 | v = mdesc_get_property(hp, pn, "max-cpus", NULL); | 554 | v = mdesc_get_property(hp, pn, "max-cpus", NULL); |
555 | if (v) | 555 | if (v) |
556 | printk("PLATFORM: max-cpus [%lu]\n", *v); | 556 | printk("PLATFORM: max-cpus [%llu]\n", *v); |
557 | 557 | ||
558 | #ifdef CONFIG_SMP | 558 | #ifdef CONFIG_SMP |
559 | { | 559 | { |
diff --git a/arch/sparc/kernel/of_device_64.c b/arch/sparc/kernel/of_device_64.c index 4873f28905b..b4a12c9aa5f 100644 --- a/arch/sparc/kernel/of_device_64.c +++ b/arch/sparc/kernel/of_device_64.c | |||
@@ -554,7 +554,7 @@ static void __init build_device_resources(struct of_device *op, | |||
554 | memset(r, 0, sizeof(*r)); | 554 | memset(r, 0, sizeof(*r)); |
555 | 555 | ||
556 | if (of_resource_verbose) | 556 | if (of_resource_verbose) |
557 | printk("%s reg[%d] -> %lx\n", | 557 | printk("%s reg[%d] -> %llx\n", |
558 | op->node->full_name, index, | 558 | op->node->full_name, index, |
559 | result); | 559 | result); |
560 | 560 | ||
diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c index bdb7c0a6d83..4638fba799e 100644 --- a/arch/sparc/kernel/pci.c +++ b/arch/sparc/kernel/pci.c | |||
@@ -223,7 +223,7 @@ static void pci_parse_of_addrs(struct of_device *op, | |||
223 | continue; | 223 | continue; |
224 | i = addrs[0] & 0xff; | 224 | i = addrs[0] & 0xff; |
225 | if (ofpci_verbose) | 225 | if (ofpci_verbose) |
226 | printk(" start: %lx, end: %lx, i: %x\n", | 226 | printk(" start: %llx, end: %llx, i: %x\n", |
227 | op_res->start, op_res->end, i); | 227 | op_res->start, op_res->end, i); |
228 | 228 | ||
229 | if (PCI_BASE_ADDRESS_0 <= i && i <= PCI_BASE_ADDRESS_5) { | 229 | if (PCI_BASE_ADDRESS_0 <= i && i <= PCI_BASE_ADDRESS_5) { |
@@ -1077,6 +1077,7 @@ int pci_dma_supported(struct pci_dev *pdev, u64 device_mask) | |||
1077 | 1077 | ||
1078 | return (device_mask & dma_addr_mask) == dma_addr_mask; | 1078 | return (device_mask & dma_addr_mask) == dma_addr_mask; |
1079 | } | 1079 | } |
1080 | EXPORT_SYMBOL(pci_dma_supported); | ||
1080 | 1081 | ||
1081 | void pci_resource_to_user(const struct pci_dev *pdev, int bar, | 1082 | void pci_resource_to_user(const struct pci_dev *pdev, int bar, |
1082 | const struct resource *rp, resource_size_t *start, | 1083 | const struct resource *rp, resource_size_t *start, |
diff --git a/arch/sparc/kernel/pci_common.c b/arch/sparc/kernel/pci_common.c index 23b88082d0b..64e6edf17b9 100644 --- a/arch/sparc/kernel/pci_common.c +++ b/arch/sparc/kernel/pci_common.c | |||
@@ -457,7 +457,7 @@ void pci_determine_mem_io_space(struct pci_pbm_info *pbm) | |||
457 | prom_halt(); | 457 | prom_halt(); |
458 | } | 458 | } |
459 | 459 | ||
460 | printk("%s: PCI IO[%lx] MEM[%lx]\n", | 460 | printk("%s: PCI IO[%llx] MEM[%llx]\n", |
461 | pbm->name, | 461 | pbm->name, |
462 | pbm->io_space.start, | 462 | pbm->io_space.start, |
463 | pbm->mem_space.start); | 463 | pbm->mem_space.start); |
diff --git a/arch/sparc/kernel/pci_msi.c b/arch/sparc/kernel/pci_msi.c index 4ef282e8191..f1be37a7b12 100644 --- a/arch/sparc/kernel/pci_msi.c +++ b/arch/sparc/kernel/pci_msi.c | |||
@@ -426,8 +426,8 @@ void sparc64_pbm_msi_init(struct pci_pbm_info *pbm, | |||
426 | pbm->name, | 426 | pbm->name, |
427 | pbm->msi_first, pbm->msi_num, pbm->msi_data_mask, | 427 | pbm->msi_first, pbm->msi_num, pbm->msi_data_mask, |
428 | pbm->msix_data_width); | 428 | pbm->msix_data_width); |
429 | printk(KERN_INFO "%s: MSI addr32[0x%lx:0x%x] " | 429 | printk(KERN_INFO "%s: MSI addr32[0x%llx:0x%x] " |
430 | "addr64[0x%lx:0x%x]\n", | 430 | "addr64[0x%llx:0x%x]\n", |
431 | pbm->name, | 431 | pbm->name, |
432 | pbm->msi32_start, pbm->msi32_len, | 432 | pbm->msi32_start, pbm->msi32_len, |
433 | pbm->msi64_start, pbm->msi64_len); | 433 | pbm->msi64_start, pbm->msi64_len); |
diff --git a/arch/sparc/kernel/pci_schizo.c b/arch/sparc/kernel/pci_schizo.c index 45d9dba1ba1..2b5cdde77af 100644 --- a/arch/sparc/kernel/pci_schizo.c +++ b/arch/sparc/kernel/pci_schizo.c | |||
@@ -794,7 +794,7 @@ static irqreturn_t schizo_safarierr_intr(int irq, void *dev_id) | |||
794 | pbm->controller_regs + SCHIZO_SAFARI_ERRLOG); | 794 | pbm->controller_regs + SCHIZO_SAFARI_ERRLOG); |
795 | 795 | ||
796 | if (!(errlog & BUS_ERROR_UNMAP)) { | 796 | if (!(errlog & BUS_ERROR_UNMAP)) { |
797 | printk("%s: Unexpected Safari/JBUS error interrupt, errlog[%016lx]\n", | 797 | printk("%s: Unexpected Safari/JBUS error interrupt, errlog[%016llx]\n", |
798 | pbm->name, errlog); | 798 | pbm->name, errlog); |
799 | 799 | ||
800 | return IRQ_HANDLED; | 800 | return IRQ_HANDLED; |
diff --git a/arch/sparc/kernel/pci_sun4v.c b/arch/sparc/kernel/pci_sun4v.c index 34a1fded394..0ef0ab3d476 100644 --- a/arch/sparc/kernel/pci_sun4v.c +++ b/arch/sparc/kernel/pci_sun4v.c | |||
@@ -73,7 +73,7 @@ static long iommu_batch_flush(struct iommu_batch *p) | |||
73 | if (unlikely(num < 0)) { | 73 | if (unlikely(num < 0)) { |
74 | if (printk_ratelimit()) | 74 | if (printk_ratelimit()) |
75 | printk("iommu_batch_flush: IOMMU map of " | 75 | printk("iommu_batch_flush: IOMMU map of " |
76 | "[%08lx:%08lx:%lx:%lx:%lx] failed with " | 76 | "[%08lx:%08llx:%lx:%lx:%lx] failed with " |
77 | "status %ld\n", | 77 | "status %ld\n", |
78 | devhandle, HV_PCI_TSBID(0, entry), | 78 | devhandle, HV_PCI_TSBID(0, entry), |
79 | npages, prot, __pa(pglist), num); | 79 | npages, prot, __pa(pglist), num); |
diff --git a/arch/sparc/kernel/pcic.c b/arch/sparc/kernel/pcic.c index 75ed98be3ed..85e7037429b 100644 --- a/arch/sparc/kernel/pcic.c +++ b/arch/sparc/kernel/pcic.c | |||
@@ -956,6 +956,7 @@ void outsb(unsigned long addr, const void *src, unsigned long count) | |||
956 | /* addr += 1; */ | 956 | /* addr += 1; */ |
957 | } | 957 | } |
958 | } | 958 | } |
959 | EXPORT_SYMBOL(outsb); | ||
959 | 960 | ||
960 | void outsw(unsigned long addr, const void *src, unsigned long count) | 961 | void outsw(unsigned long addr, const void *src, unsigned long count) |
961 | { | 962 | { |
@@ -966,6 +967,7 @@ void outsw(unsigned long addr, const void *src, unsigned long count) | |||
966 | /* addr += 2; */ | 967 | /* addr += 2; */ |
967 | } | 968 | } |
968 | } | 969 | } |
970 | EXPORT_SYMBOL(outsw); | ||
969 | 971 | ||
970 | void outsl(unsigned long addr, const void *src, unsigned long count) | 972 | void outsl(unsigned long addr, const void *src, unsigned long count) |
971 | { | 973 | { |
@@ -976,6 +978,7 @@ void outsl(unsigned long addr, const void *src, unsigned long count) | |||
976 | /* addr += 4; */ | 978 | /* addr += 4; */ |
977 | } | 979 | } |
978 | } | 980 | } |
981 | EXPORT_SYMBOL(outsl); | ||
979 | 982 | ||
980 | void insb(unsigned long addr, void *dst, unsigned long count) | 983 | void insb(unsigned long addr, void *dst, unsigned long count) |
981 | { | 984 | { |
@@ -986,6 +989,7 @@ void insb(unsigned long addr, void *dst, unsigned long count) | |||
986 | /* addr += 1; */ | 989 | /* addr += 1; */ |
987 | } | 990 | } |
988 | } | 991 | } |
992 | EXPORT_SYMBOL(insb); | ||
989 | 993 | ||
990 | void insw(unsigned long addr, void *dst, unsigned long count) | 994 | void insw(unsigned long addr, void *dst, unsigned long count) |
991 | { | 995 | { |
@@ -996,6 +1000,7 @@ void insw(unsigned long addr, void *dst, unsigned long count) | |||
996 | /* addr += 2; */ | 1000 | /* addr += 2; */ |
997 | } | 1001 | } |
998 | } | 1002 | } |
1003 | EXPORT_SYMBOL(insw); | ||
999 | 1004 | ||
1000 | void insl(unsigned long addr, void *dst, unsigned long count) | 1005 | void insl(unsigned long addr, void *dst, unsigned long count) |
1001 | { | 1006 | { |
@@ -1009,5 +1014,6 @@ void insl(unsigned long addr, void *dst, unsigned long count) | |||
1009 | /* addr += 4; */ | 1014 | /* addr += 4; */ |
1010 | } | 1015 | } |
1011 | } | 1016 | } |
1017 | EXPORT_SYMBOL(insl); | ||
1012 | 1018 | ||
1013 | subsys_initcall(pcic_init); | 1019 | subsys_initcall(pcic_init); |
diff --git a/arch/sparc/kernel/power.c b/arch/sparc/kernel/power.c index 076cad7f975..ae88f06a7ec 100644 --- a/arch/sparc/kernel/power.c +++ b/arch/sparc/kernel/power.c | |||
@@ -40,7 +40,7 @@ static int __devinit power_probe(struct of_device *op, const struct of_device_id | |||
40 | 40 | ||
41 | power_reg = of_ioremap(res, 0, 0x4, "power"); | 41 | power_reg = of_ioremap(res, 0, 0x4, "power"); |
42 | 42 | ||
43 | printk(KERN_INFO "%s: Control reg at %lx\n", | 43 | printk(KERN_INFO "%s: Control reg at %llx\n", |
44 | op->node->name, res->start); | 44 | op->node->name, res->start); |
45 | 45 | ||
46 | if (has_button_interrupt(irq, op->node)) { | 46 | if (has_button_interrupt(irq, op->node)) { |
diff --git a/arch/sparc/kernel/process_32.c b/arch/sparc/kernel/process_32.c index 5a8d8ced33d..f4bee35a1b4 100644 --- a/arch/sparc/kernel/process_32.c +++ b/arch/sparc/kernel/process_32.c | |||
@@ -44,6 +44,7 @@ | |||
44 | * Set in pm platform drivers (apc.c and pmc.c) | 44 | * Set in pm platform drivers (apc.c and pmc.c) |
45 | */ | 45 | */ |
46 | void (*pm_idle)(void); | 46 | void (*pm_idle)(void); |
47 | EXPORT_SYMBOL(pm_idle); | ||
47 | 48 | ||
48 | /* | 49 | /* |
49 | * Power-off handler instantiation for pm.h compliance | 50 | * 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 | "g1", "g2", "g3", "o0", "o1", "memory", "cc"); | 674 | "g1", "g2", "g3", "o0", "o1", "memory", "cc"); |
674 | return retval; | 675 | return retval; |
675 | } | 676 | } |
677 | EXPORT_SYMBOL(kernel_thread); | ||
676 | 678 | ||
677 | unsigned long get_wchan(struct task_struct *task) | 679 | unsigned long get_wchan(struct task_struct *task) |
678 | { | 680 | { |
diff --git a/arch/sparc/kernel/process_64.c b/arch/sparc/kernel/process_64.c index d5e2acef987..cc8b5604442 100644 --- a/arch/sparc/kernel/process_64.c +++ b/arch/sparc/kernel/process_64.c | |||
@@ -678,6 +678,7 @@ pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) | |||
678 | "g1", "g2", "g3", "o0", "o1", "memory", "cc"); | 678 | "g1", "g2", "g3", "o0", "o1", "memory", "cc"); |
679 | return retval; | 679 | return retval; |
680 | } | 680 | } |
681 | EXPORT_SYMBOL(kernel_thread); | ||
681 | 682 | ||
682 | typedef struct { | 683 | typedef struct { |
683 | union { | 684 | union { |
@@ -743,6 +744,7 @@ int dump_fpu (struct pt_regs * regs, elf_fpregset_t * fpregs) | |||
743 | } | 744 | } |
744 | return 1; | 745 | return 1; |
745 | } | 746 | } |
747 | EXPORT_SYMBOL(dump_fpu); | ||
746 | 748 | ||
747 | /* | 749 | /* |
748 | * sparc_execve() executes a new program after the asm stub has set | 750 | * sparc_execve() executes a new program after the asm stub has set |
diff --git a/arch/sparc/kernel/prom_irqtrans.c b/arch/sparc/kernel/prom_irqtrans.c index 96958c4dce8..5702ad4710c 100644 --- a/arch/sparc/kernel/prom_irqtrans.c +++ b/arch/sparc/kernel/prom_irqtrans.c | |||
@@ -346,7 +346,7 @@ static void tomatillo_wsync_handler(unsigned int ino, void *_arg1, void *_arg2) | |||
346 | break; | 346 | break; |
347 | } | 347 | } |
348 | if (limit <= 0) { | 348 | if (limit <= 0) { |
349 | printk("tomatillo_wsync_handler: DMA won't sync [%lx:%lx]\n", | 349 | printk("tomatillo_wsync_handler: DMA won't sync [%llx:%llx]\n", |
350 | val, mask); | 350 | val, mask); |
351 | } | 351 | } |
352 | 352 | ||
diff --git a/arch/sparc/kernel/psycho_common.c b/arch/sparc/kernel/psycho_common.c index 790996428c1..8f147847542 100644 --- a/arch/sparc/kernel/psycho_common.c +++ b/arch/sparc/kernel/psycho_common.c | |||
@@ -11,19 +11,19 @@ | |||
11 | #include "iommu_common.h" | 11 | #include "iommu_common.h" |
12 | #include "psycho_common.h" | 12 | #include "psycho_common.h" |
13 | 13 | ||
14 | #define PSYCHO_STRBUF_CTRL_DENAB 0x0000000000000002UL | 14 | #define PSYCHO_STRBUF_CTRL_DENAB 0x0000000000000002ULL |
15 | #define PSYCHO_STCERR_WRITE 0x0000000000000002UL | 15 | #define PSYCHO_STCERR_WRITE 0x0000000000000002ULL |
16 | #define PSYCHO_STCERR_READ 0x0000000000000001UL | 16 | #define PSYCHO_STCERR_READ 0x0000000000000001ULL |
17 | #define PSYCHO_STCTAG_PPN 0x0fffffff00000000UL | 17 | #define PSYCHO_STCTAG_PPN 0x0fffffff00000000ULL |
18 | #define PSYCHO_STCTAG_VPN 0x00000000ffffe000UL | 18 | #define PSYCHO_STCTAG_VPN 0x00000000ffffe000ULL |
19 | #define PSYCHO_STCTAG_VALID 0x0000000000000002UL | 19 | #define PSYCHO_STCTAG_VALID 0x0000000000000002ULL |
20 | #define PSYCHO_STCTAG_WRITE 0x0000000000000001UL | 20 | #define PSYCHO_STCTAG_WRITE 0x0000000000000001ULL |
21 | #define PSYCHO_STCLINE_LINDX 0x0000000001e00000UL | 21 | #define PSYCHO_STCLINE_LINDX 0x0000000001e00000ULL |
22 | #define PSYCHO_STCLINE_SPTR 0x00000000001f8000UL | 22 | #define PSYCHO_STCLINE_SPTR 0x00000000001f8000ULL |
23 | #define PSYCHO_STCLINE_LADDR 0x0000000000007f00UL | 23 | #define PSYCHO_STCLINE_LADDR 0x0000000000007f00ULL |
24 | #define PSYCHO_STCLINE_EPTR 0x00000000000000fcUL | 24 | #define PSYCHO_STCLINE_EPTR 0x00000000000000fcULL |
25 | #define PSYCHO_STCLINE_VALID 0x0000000000000002UL | 25 | #define PSYCHO_STCLINE_VALID 0x0000000000000002ULL |
26 | #define PSYCHO_STCLINE_FOFN 0x0000000000000001UL | 26 | #define PSYCHO_STCLINE_FOFN 0x0000000000000001ULL |
27 | 27 | ||
28 | static DEFINE_SPINLOCK(stc_buf_lock); | 28 | static DEFINE_SPINLOCK(stc_buf_lock); |
29 | static unsigned long stc_error_buf[128]; | 29 | static unsigned long stc_error_buf[128]; |
@@ -94,7 +94,7 @@ static void psycho_check_stc_error(struct pci_pbm_info *pbm) | |||
94 | if (saw_error != 0) { | 94 | if (saw_error != 0) { |
95 | u64 tagval = stc_tag_buf[i]; | 95 | u64 tagval = stc_tag_buf[i]; |
96 | u64 lineval = stc_line_buf[i]; | 96 | u64 lineval = stc_line_buf[i]; |
97 | printk(KERN_ERR "%s: STC_TAG(%d)[PA(%016lx)VA(%08lx)" | 97 | printk(KERN_ERR "%s: STC_TAG(%d)[PA(%016llx)VA(%08llx)" |
98 | "V(%d)W(%d)]\n", | 98 | "V(%d)W(%d)]\n", |
99 | pbm->name, | 99 | pbm->name, |
100 | i, | 100 | i, |
@@ -102,8 +102,8 @@ static void psycho_check_stc_error(struct pci_pbm_info *pbm) | |||
102 | (tagval & PSYCHO_STCTAG_VPN), | 102 | (tagval & PSYCHO_STCTAG_VPN), |
103 | ((tagval & PSYCHO_STCTAG_VALID) ? 1 : 0), | 103 | ((tagval & PSYCHO_STCTAG_VALID) ? 1 : 0), |
104 | ((tagval & PSYCHO_STCTAG_WRITE) ? 1 : 0)); | 104 | ((tagval & PSYCHO_STCTAG_WRITE) ? 1 : 0)); |
105 | printk(KERN_ERR "%s: STC_LINE(%d)[LIDX(%lx)SP(%lx)" | 105 | printk(KERN_ERR "%s: STC_LINE(%d)[LIDX(%llx)SP(%llx)" |
106 | "LADDR(%lx)EP(%lx)V(%d)FOFN(%d)]\n", | 106 | "LADDR(%llx)EP(%llx)V(%d)FOFN(%d)]\n", |
107 | pbm->name, | 107 | pbm->name, |
108 | i, | 108 | i, |
109 | ((lineval & PSYCHO_STCLINE_LINDX) >> 21UL), | 109 | ((lineval & PSYCHO_STCLINE_LINDX) >> 21UL), |
@@ -144,10 +144,10 @@ static void psycho_record_iommu_tags_and_data(struct pci_pbm_info *pbm, | |||
144 | #define PSYCHO_IOMMU_TAG_WRITE (0x1UL << 21UL) | 144 | #define PSYCHO_IOMMU_TAG_WRITE (0x1UL << 21UL) |
145 | #define PSYCHO_IOMMU_TAG_STREAM (0x1UL << 20UL) | 145 | #define PSYCHO_IOMMU_TAG_STREAM (0x1UL << 20UL) |
146 | #define PSYCHO_IOMMU_TAG_SIZE (0x1UL << 19UL) | 146 | #define PSYCHO_IOMMU_TAG_SIZE (0x1UL << 19UL) |
147 | #define PSYCHO_IOMMU_TAG_VPAGE 0x7ffffUL | 147 | #define PSYCHO_IOMMU_TAG_VPAGE 0x7ffffULL |
148 | #define PSYCHO_IOMMU_DATA_VALID (1UL << 30UL) | 148 | #define PSYCHO_IOMMU_DATA_VALID (1UL << 30UL) |
149 | #define PSYCHO_IOMMU_DATA_CACHE (1UL << 28UL) | 149 | #define PSYCHO_IOMMU_DATA_CACHE (1UL << 28UL) |
150 | #define PSYCHO_IOMMU_DATA_PPAGE 0xfffffffUL | 150 | #define PSYCHO_IOMMU_DATA_PPAGE 0xfffffffULL |
151 | 151 | ||
152 | static void psycho_dump_iommu_tags_and_data(struct pci_pbm_info *pbm, | 152 | static void psycho_dump_iommu_tags_and_data(struct pci_pbm_info *pbm, |
153 | u64 *tag, u64 *data) | 153 | u64 *tag, u64 *data) |
@@ -179,18 +179,18 @@ static void psycho_dump_iommu_tags_and_data(struct pci_pbm_info *pbm, | |||
179 | } | 179 | } |
180 | 180 | ||
181 | printk(KERN_ERR "%s: IOMMU TAG(%d)[error(%s) wr(%d) " | 181 | printk(KERN_ERR "%s: IOMMU TAG(%d)[error(%s) wr(%d) " |
182 | "str(%d) sz(%dK) vpg(%08lx)]\n", | 182 | "str(%d) sz(%dK) vpg(%08llx)]\n", |
183 | pbm->name, i, type_str, | 183 | pbm->name, i, type_str, |
184 | ((tag_val & PSYCHO_IOMMU_TAG_WRITE) ? 1 : 0), | 184 | ((tag_val & PSYCHO_IOMMU_TAG_WRITE) ? 1 : 0), |
185 | ((tag_val & PSYCHO_IOMMU_TAG_STREAM) ? 1 : 0), | 185 | ((tag_val & PSYCHO_IOMMU_TAG_STREAM) ? 1 : 0), |
186 | ((tag_val & PSYCHO_IOMMU_TAG_SIZE) ? 64 : 8), | 186 | ((tag_val & PSYCHO_IOMMU_TAG_SIZE) ? 64 : 8), |
187 | (tag_val & PSYCHO_IOMMU_TAG_VPAGE) << IOMMU_PAGE_SHIFT); | 187 | (tag_val & PSYCHO_IOMMU_TAG_VPAGE) << IOMMU_PAGE_SHIFT); |
188 | printk(KERN_ERR "%s: IOMMU DATA(%d)[valid(%d) cache(%d) " | 188 | printk(KERN_ERR "%s: IOMMU DATA(%d)[valid(%d) cache(%d) " |
189 | "ppg(%016lx)]\n", | 189 | "ppg(%016llx)]\n", |
190 | pbm->name, i, | 190 | pbm->name, i, |
191 | ((data_val & PSYCHO_IOMMU_DATA_VALID) ? 1 : 0), | 191 | ((data_val & PSYCHO_IOMMU_DATA_VALID) ? 1 : 0), |
192 | ((data_val & PSYCHO_IOMMU_DATA_CACHE) ? 1 : 0), | 192 | ((data_val & PSYCHO_IOMMU_DATA_CACHE) ? 1 : 0), |
193 | (data_val & PSYCHO_IOMMU_DATA_PPAGE)<<IOMMU_PAGE_SHIFT); | 193 | (data_val & PSYCHO_IOMMU_DATA_PPAGE) << IOMMU_PAGE_SHIFT); |
194 | } | 194 | } |
195 | } | 195 | } |
196 | 196 | ||
@@ -285,20 +285,20 @@ static irqreturn_t psycho_pcierr_intr_other(struct pci_pbm_info *pbm) | |||
285 | return ret; | 285 | return ret; |
286 | } | 286 | } |
287 | 287 | ||
288 | #define PSYCHO_PCIAFSR_PMA 0x8000000000000000UL | 288 | #define PSYCHO_PCIAFSR_PMA 0x8000000000000000ULL |
289 | #define PSYCHO_PCIAFSR_PTA 0x4000000000000000UL | 289 | #define PSYCHO_PCIAFSR_PTA 0x4000000000000000ULL |
290 | #define PSYCHO_PCIAFSR_PRTRY 0x2000000000000000UL | 290 | #define PSYCHO_PCIAFSR_PRTRY 0x2000000000000000ULL |
291 | #define PSYCHO_PCIAFSR_PPERR 0x1000000000000000UL | 291 | #define PSYCHO_PCIAFSR_PPERR 0x1000000000000000ULL |
292 | #define PSYCHO_PCIAFSR_SMA 0x0800000000000000UL | 292 | #define PSYCHO_PCIAFSR_SMA 0x0800000000000000ULL |
293 | #define PSYCHO_PCIAFSR_STA 0x0400000000000000UL | 293 | #define PSYCHO_PCIAFSR_STA 0x0400000000000000ULL |
294 | #define PSYCHO_PCIAFSR_SRTRY 0x0200000000000000UL | 294 | #define PSYCHO_PCIAFSR_SRTRY 0x0200000000000000ULL |
295 | #define PSYCHO_PCIAFSR_SPERR 0x0100000000000000UL | 295 | #define PSYCHO_PCIAFSR_SPERR 0x0100000000000000ULL |
296 | #define PSYCHO_PCIAFSR_RESV1 0x00ff000000000000UL | 296 | #define PSYCHO_PCIAFSR_RESV1 0x00ff000000000000ULL |
297 | #define PSYCHO_PCIAFSR_BMSK 0x0000ffff00000000UL | 297 | #define PSYCHO_PCIAFSR_BMSK 0x0000ffff00000000ULL |
298 | #define PSYCHO_PCIAFSR_BLK 0x0000000080000000UL | 298 | #define PSYCHO_PCIAFSR_BLK 0x0000000080000000ULL |
299 | #define PSYCHO_PCIAFSR_RESV2 0x0000000040000000UL | 299 | #define PSYCHO_PCIAFSR_RESV2 0x0000000040000000ULL |
300 | #define PSYCHO_PCIAFSR_MID 0x000000003e000000UL | 300 | #define PSYCHO_PCIAFSR_MID 0x000000003e000000ULL |
301 | #define PSYCHO_PCIAFSR_RESV3 0x0000000001ffffffUL | 301 | #define PSYCHO_PCIAFSR_RESV3 0x0000000001ffffffULL |
302 | 302 | ||
303 | irqreturn_t psycho_pcierr_intr(int irq, void *dev_id) | 303 | irqreturn_t psycho_pcierr_intr(int irq, void *dev_id) |
304 | { | 304 | { |
@@ -326,12 +326,12 @@ irqreturn_t psycho_pcierr_intr(int irq, void *dev_id) | |||
326 | "Excessive Retries" : | 326 | "Excessive Retries" : |
327 | ((error_bits & PSYCHO_PCIAFSR_PPERR) ? | 327 | ((error_bits & PSYCHO_PCIAFSR_PPERR) ? |
328 | "Parity Error" : "???")))))); | 328 | "Parity Error" : "???")))))); |
329 | printk(KERN_ERR "%s: bytemask[%04lx] UPA_MID[%02lx] was_block(%d)\n", | 329 | printk(KERN_ERR "%s: bytemask[%04llx] UPA_MID[%02llx] was_block(%d)\n", |
330 | pbm->name, | 330 | pbm->name, |
331 | (afsr & PSYCHO_PCIAFSR_BMSK) >> 32UL, | 331 | (afsr & PSYCHO_PCIAFSR_BMSK) >> 32UL, |
332 | (afsr & PSYCHO_PCIAFSR_MID) >> 25UL, | 332 | (afsr & PSYCHO_PCIAFSR_MID) >> 25UL, |
333 | (afsr & PSYCHO_PCIAFSR_BLK) ? 1 : 0); | 333 | (afsr & PSYCHO_PCIAFSR_BLK) ? 1 : 0); |
334 | printk(KERN_ERR "%s: PCI AFAR [%016lx]\n", pbm->name, afar); | 334 | printk(KERN_ERR "%s: PCI AFAR [%016llx]\n", pbm->name, afar); |
335 | printk(KERN_ERR "%s: PCI Secondary errors [", pbm->name); | 335 | printk(KERN_ERR "%s: PCI Secondary errors [", pbm->name); |
336 | reported = 0; | 336 | reported = 0; |
337 | if (afsr & PSYCHO_PCIAFSR_SMA) { | 337 | if (afsr & PSYCHO_PCIAFSR_SMA) { |
diff --git a/arch/sparc/kernel/sbus.c b/arch/sparc/kernel/sbus.c index 2ead310066d..406e0872504 100644 --- a/arch/sparc/kernel/sbus.c +++ b/arch/sparc/kernel/sbus.c | |||
@@ -117,6 +117,7 @@ void sbus_set_sbus64(struct device *dev, int bursts) | |||
117 | val |= (1UL << 4UL); | 117 | val |= (1UL << 4UL); |
118 | upa_writeq(val, cfg_reg); | 118 | upa_writeq(val, cfg_reg); |
119 | } | 119 | } |
120 | EXPORT_SYMBOL(sbus_set_sbus64); | ||
120 | 121 | ||
121 | /* INO number to IMAP register offset for SYSIO external IRQ's. | 122 | /* INO number to IMAP register offset for SYSIO external IRQ's. |
122 | * This should conform to both Sunfire/Wildfire server and Fusion | 123 | * This should conform to both Sunfire/Wildfire server and Fusion |
diff --git a/arch/sparc/kernel/setup_32.c b/arch/sparc/kernel/setup_32.c index c96c65d1b58..998cadb4e7f 100644 --- a/arch/sparc/kernel/setup_32.c +++ b/arch/sparc/kernel/setup_32.c | |||
@@ -199,7 +199,9 @@ extern unsigned short ram_flags; | |||
199 | extern int root_mountflags; | 199 | extern int root_mountflags; |
200 | 200 | ||
201 | char reboot_command[COMMAND_LINE_SIZE]; | 201 | char reboot_command[COMMAND_LINE_SIZE]; |
202 | |||
202 | enum sparc_cpu sparc_cpu_model; | 203 | enum sparc_cpu sparc_cpu_model; |
204 | EXPORT_SYMBOL(sparc_cpu_model); | ||
203 | 205 | ||
204 | struct tt_entry *sparc_ttable; | 206 | struct tt_entry *sparc_ttable; |
205 | 207 | ||
@@ -391,6 +393,7 @@ void sun_do_break(void) | |||
391 | 393 | ||
392 | prom_cmdline(); | 394 | prom_cmdline(); |
393 | } | 395 | } |
396 | EXPORT_SYMBOL(sun_do_break); | ||
394 | 397 | ||
395 | int stop_a_enabled = 1; | 398 | int stop_a_enabled = 1; |
396 | 399 | ||
diff --git a/arch/sparc/kernel/setup_64.c b/arch/sparc/kernel/setup_64.c index 555db7452eb..49d061f4ae9 100644 --- a/arch/sparc/kernel/setup_64.c +++ b/arch/sparc/kernel/setup_64.c | |||
@@ -58,6 +58,7 @@ | |||
58 | * operations in asm/ns87303.h | 58 | * operations in asm/ns87303.h |
59 | */ | 59 | */ |
60 | DEFINE_SPINLOCK(ns87303_lock); | 60 | DEFINE_SPINLOCK(ns87303_lock); |
61 | EXPORT_SYMBOL(ns87303_lock); | ||
61 | 62 | ||
62 | struct screen_info screen_info = { | 63 | struct screen_info screen_info = { |
63 | 0, 0, /* orig-x, orig-y */ | 64 | 0, 0, /* orig-x, orig-y */ |
@@ -425,5 +426,7 @@ void sun_do_break(void) | |||
425 | 426 | ||
426 | prom_cmdline(); | 427 | prom_cmdline(); |
427 | } | 428 | } |
429 | EXPORT_SYMBOL(sun_do_break); | ||
428 | 430 | ||
429 | int stop_a_enabled = 1; | 431 | int stop_a_enabled = 1; |
432 | EXPORT_SYMBOL(stop_a_enabled); | ||
diff --git a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c index 46329799f34..6cd1a5b6506 100644 --- a/arch/sparc/kernel/smp_64.c +++ b/arch/sparc/kernel/smp_64.c | |||
@@ -449,7 +449,7 @@ again: | |||
449 | __asm__ __volatile__("wrpr %0, 0x0, %%pstate" | 449 | __asm__ __volatile__("wrpr %0, 0x0, %%pstate" |
450 | : : "r" (pstate)); | 450 | : : "r" (pstate)); |
451 | if (stuck == 0) { | 451 | if (stuck == 0) { |
452 | printk("CPU[%d]: mondo stuckage result[%016lx]\n", | 452 | printk("CPU[%d]: mondo stuckage result[%016llx]\n", |
453 | smp_processor_id(), result); | 453 | smp_processor_id(), result); |
454 | } else { | 454 | } else { |
455 | udelay(2); | 455 | udelay(2); |
@@ -584,7 +584,7 @@ retry: | |||
584 | /* Busy bits will not clear, continue instead | 584 | /* Busy bits will not clear, continue instead |
585 | * of freezing up on this cpu. | 585 | * of freezing up on this cpu. |
586 | */ | 586 | */ |
587 | printk("CPU[%d]: mondo stuckage result[%016lx]\n", | 587 | printk("CPU[%d]: mondo stuckage result[%016llx]\n", |
588 | smp_processor_id(), dispatch_stat); | 588 | smp_processor_id(), dispatch_stat); |
589 | } else { | 589 | } else { |
590 | int i, this_busy_nack = 0; | 590 | int i, this_busy_nack = 0; |
diff --git a/arch/sparc/kernel/sparc_ksyms_32.c b/arch/sparc/kernel/sparc_ksyms_32.c index e1e97639231..baeab872023 100644 --- a/arch/sparc/kernel/sparc_ksyms_32.c +++ b/arch/sparc/kernel/sparc_ksyms_32.c | |||
@@ -5,49 +5,14 @@ | |||
5 | * Copyright (C) 1996 Eddie C. Dost (ecd@skynet.be) | 5 | * Copyright (C) 1996 Eddie C. Dost (ecd@skynet.be) |
6 | */ | 6 | */ |
7 | 7 | ||
8 | /* Tell string.h we don't want memcpy etc. as cpp defines */ | ||
9 | #define EXPORT_SYMTAB_STROPS | ||
10 | #define PROMLIB_INTERNAL | ||
11 | |||
12 | #include <linux/module.h> | 8 | #include <linux/module.h> |
13 | #include <linux/init.h> | 9 | #include <linux/init.h> |
14 | #include <linux/smp.h> | ||
15 | #include <linux/types.h> | ||
16 | #include <linux/string.h> | ||
17 | #include <linux/sched.h> | ||
18 | #include <linux/interrupt.h> | ||
19 | #include <linux/in6.h> | ||
20 | #include <linux/spinlock.h> | ||
21 | #include <linux/mm.h> | ||
22 | #include <linux/syscalls.h> | ||
23 | #ifdef CONFIG_PCI | ||
24 | #include <linux/pci.h> | ||
25 | #endif | ||
26 | #include <linux/pm.h> | ||
27 | #ifdef CONFIG_HIGHMEM | ||
28 | #include <linux/highmem.h> | ||
29 | #endif | ||
30 | 10 | ||
31 | #include <asm/oplib.h> | ||
32 | #include <asm/delay.h> | ||
33 | #include <asm/system.h> | ||
34 | #include <asm/auxio.h> | ||
35 | #include <asm/pgtable.h> | 11 | #include <asm/pgtable.h> |
36 | #include <asm/io.h> | ||
37 | #include <asm/irq.h> | ||
38 | #include <asm/idprom.h> | ||
39 | #include <asm/head.h> | ||
40 | #include <asm/smp.h> | ||
41 | #include <asm/ptrace.h> | ||
42 | #include <asm/uaccess.h> | 12 | #include <asm/uaccess.h> |
43 | #include <asm/checksum.h> | 13 | #include <asm/delay.h> |
44 | #ifdef CONFIG_SBUS | 14 | #include <asm/head.h> |
45 | #include <asm/dma.h> | 15 | #include <asm/dma.h> |
46 | #endif | ||
47 | #include <asm/io-unit.h> | ||
48 | #include <asm/bug.h> | ||
49 | |||
50 | extern spinlock_t rtc_lock; | ||
51 | 16 | ||
52 | struct poll { | 17 | struct poll { |
53 | int fd; | 18 | int fd; |
@@ -55,72 +20,15 @@ struct poll { | |||
55 | short revents; | 20 | short revents; |
56 | }; | 21 | }; |
57 | 22 | ||
58 | extern void (*__copy_1page)(void *, const void *); | 23 | /* from entry.S */ |
59 | extern void __memmove(void *, const void *, __kernel_size_t); | ||
60 | extern void (*bzero_1page)(void *); | ||
61 | extern void *__bzero(void *, size_t); | ||
62 | extern void *__memscan_zero(void *, size_t); | ||
63 | extern void *__memscan_generic(void *, int, size_t); | ||
64 | extern int __strncmp(const char *, const char *, __kernel_size_t); | ||
65 | |||
66 | extern int __ashrdi3(int, int); | ||
67 | extern int __ashldi3(int, int); | ||
68 | extern int __lshrdi3(int, int); | ||
69 | extern int __muldi3(int, int); | ||
70 | extern int __divdi3(int, int); | ||
71 | |||
72 | /* Private functions with odd calling conventions. */ | ||
73 | extern void ___atomic24_add(void); | ||
74 | extern void ___atomic24_sub(void); | ||
75 | extern void ___rw_read_enter(void); | ||
76 | extern void ___rw_read_try(void); | ||
77 | extern void ___rw_read_exit(void); | ||
78 | extern void ___rw_write_enter(void); | ||
79 | |||
80 | /* Alias functions whose names begin with "." and export the aliases. | ||
81 | * The module references will be fixed up by module_frob_arch_sections. | ||
82 | */ | ||
83 | extern int _Div(int, int); | ||
84 | extern int _Mul(int, int); | ||
85 | extern int _Rem(int, int); | ||
86 | extern unsigned _Udiv(unsigned, unsigned); | ||
87 | extern unsigned _Umul(unsigned, unsigned); | ||
88 | extern unsigned _Urem(unsigned, unsigned); | ||
89 | |||
90 | /* used by various drivers */ | ||
91 | EXPORT_SYMBOL(sparc_cpu_model); | ||
92 | EXPORT_SYMBOL(kernel_thread); | ||
93 | #ifdef CONFIG_SMP | ||
94 | // XXX find what uses (or used) these. AV: see asm/spinlock.h | ||
95 | EXPORT_SYMBOL(___rw_read_enter); | ||
96 | EXPORT_SYMBOL(___rw_read_try); | ||
97 | EXPORT_SYMBOL(___rw_read_exit); | ||
98 | EXPORT_SYMBOL(___rw_write_enter); | ||
99 | #endif | ||
100 | |||
101 | EXPORT_SYMBOL(sparc_valid_addr_bitmap); | ||
102 | EXPORT_SYMBOL(phys_base); | ||
103 | EXPORT_SYMBOL(pfn_base); | ||
104 | |||
105 | /* Atomic operations. */ | ||
106 | EXPORT_SYMBOL(___atomic24_add); | ||
107 | EXPORT_SYMBOL(___atomic24_sub); | ||
108 | |||
109 | /* Per-CPU information table */ | ||
110 | EXPORT_PER_CPU_SYMBOL(__cpu_data); | ||
111 | |||
112 | #ifdef CONFIG_SMP | ||
113 | /* IRQ implementation. */ | ||
114 | EXPORT_SYMBOL(synchronize_irq); | ||
115 | #endif | ||
116 | |||
117 | EXPORT_SYMBOL(__udelay); | 24 | EXPORT_SYMBOL(__udelay); |
118 | EXPORT_SYMBOL(__ndelay); | 25 | EXPORT_SYMBOL(__ndelay); |
119 | EXPORT_SYMBOL(rtc_lock); | ||
120 | EXPORT_SYMBOL(set_auxio); | ||
121 | EXPORT_SYMBOL(get_auxio); | ||
122 | EXPORT_SYMBOL(io_remap_pfn_range); | ||
123 | 26 | ||
27 | /* from head_32.S */ | ||
28 | EXPORT_SYMBOL(__ret_efault); | ||
29 | EXPORT_SYMBOL(empty_zero_page); | ||
30 | |||
31 | /* Defined using magic */ | ||
124 | #ifndef CONFIG_SMP | 32 | #ifndef CONFIG_SMP |
125 | EXPORT_SYMBOL(BTFIXUP_CALL(___xchg32)); | 33 | EXPORT_SYMBOL(BTFIXUP_CALL(___xchg32)); |
126 | #else | 34 | #else |
@@ -132,122 +40,7 @@ EXPORT_SYMBOL(BTFIXUP_CALL(mmu_get_scsi_sgl)); | |||
132 | EXPORT_SYMBOL(BTFIXUP_CALL(mmu_get_scsi_one)); | 40 | EXPORT_SYMBOL(BTFIXUP_CALL(mmu_get_scsi_one)); |
133 | EXPORT_SYMBOL(BTFIXUP_CALL(mmu_release_scsi_sgl)); | 41 | EXPORT_SYMBOL(BTFIXUP_CALL(mmu_release_scsi_sgl)); |
134 | EXPORT_SYMBOL(BTFIXUP_CALL(mmu_release_scsi_one)); | 42 | EXPORT_SYMBOL(BTFIXUP_CALL(mmu_release_scsi_one)); |
135 | |||
136 | EXPORT_SYMBOL(BTFIXUP_CALL(pgprot_noncached)); | 43 | EXPORT_SYMBOL(BTFIXUP_CALL(pgprot_noncached)); |
137 | 44 | ||
138 | #ifdef CONFIG_SBUS | 45 | /* Exporting a symbol from /init/main.c */ |
139 | EXPORT_SYMBOL(sbus_set_sbus64); | ||
140 | #endif | ||
141 | #ifdef CONFIG_PCI | ||
142 | EXPORT_SYMBOL(insb); | ||
143 | EXPORT_SYMBOL(outsb); | ||
144 | EXPORT_SYMBOL(insw); | ||
145 | EXPORT_SYMBOL(outsw); | ||
146 | EXPORT_SYMBOL(insl); | ||
147 | EXPORT_SYMBOL(outsl); | ||
148 | EXPORT_SYMBOL(pci_alloc_consistent); | ||
149 | EXPORT_SYMBOL(pci_free_consistent); | ||
150 | EXPORT_SYMBOL(pci_map_single); | ||
151 | EXPORT_SYMBOL(pci_unmap_single); | ||
152 | EXPORT_SYMBOL(pci_dma_sync_single_for_cpu); | ||
153 | EXPORT_SYMBOL(pci_dma_sync_single_for_device); | ||
154 | EXPORT_SYMBOL(pci_dma_sync_sg_for_cpu); | ||
155 | EXPORT_SYMBOL(pci_dma_sync_sg_for_device); | ||
156 | EXPORT_SYMBOL(pci_map_sg); | ||
157 | EXPORT_SYMBOL(pci_unmap_sg); | ||
158 | EXPORT_SYMBOL(pci_map_page); | ||
159 | EXPORT_SYMBOL(pci_unmap_page); | ||
160 | /* Actually, ioremap/iounmap are not PCI specific. But it is ok for drivers. */ | ||
161 | EXPORT_SYMBOL(ioremap); | ||
162 | EXPORT_SYMBOL(iounmap); | ||
163 | #endif | ||
164 | |||
165 | /* in arch/sparc/mm/highmem.c */ | ||
166 | #ifdef CONFIG_HIGHMEM | ||
167 | EXPORT_SYMBOL(kmap_atomic); | ||
168 | EXPORT_SYMBOL(kunmap_atomic); | ||
169 | #endif | ||
170 | |||
171 | /* prom symbols */ | ||
172 | EXPORT_SYMBOL(idprom); | ||
173 | EXPORT_SYMBOL(prom_root_node); | ||
174 | EXPORT_SYMBOL(prom_getchild); | ||
175 | EXPORT_SYMBOL(prom_getsibling); | ||
176 | EXPORT_SYMBOL(prom_searchsiblings); | ||
177 | EXPORT_SYMBOL(prom_firstprop); | ||
178 | EXPORT_SYMBOL(prom_nextprop); | ||
179 | EXPORT_SYMBOL(prom_getproplen); | ||
180 | EXPORT_SYMBOL(prom_getproperty); | ||
181 | EXPORT_SYMBOL(prom_node_has_property); | ||
182 | EXPORT_SYMBOL(prom_setprop); | ||
183 | EXPORT_SYMBOL(saved_command_line); | 46 | EXPORT_SYMBOL(saved_command_line); |
184 | EXPORT_SYMBOL(prom_apply_obio_ranges); | ||
185 | EXPORT_SYMBOL(prom_feval); | ||
186 | EXPORT_SYMBOL(prom_getbool); | ||
187 | EXPORT_SYMBOL(prom_getstring); | ||
188 | EXPORT_SYMBOL(prom_getint); | ||
189 | EXPORT_SYMBOL(prom_getintdefault); | ||
190 | EXPORT_SYMBOL(prom_finddevice); | ||
191 | EXPORT_SYMBOL(romvec); | ||
192 | EXPORT_SYMBOL(__prom_getchild); | ||
193 | EXPORT_SYMBOL(__prom_getsibling); | ||
194 | |||
195 | /* sparc library symbols */ | ||
196 | EXPORT_SYMBOL(memscan); | ||
197 | EXPORT_SYMBOL(strlen); | ||
198 | EXPORT_SYMBOL(strncmp); | ||
199 | EXPORT_SYMBOL(page_kernel); | ||
200 | |||
201 | /* Special internal versions of library functions. */ | ||
202 | EXPORT_SYMBOL(__copy_1page); | ||
203 | EXPORT_SYMBOL(__memcpy); | ||
204 | EXPORT_SYMBOL(__memset); | ||
205 | EXPORT_SYMBOL(bzero_1page); | ||
206 | EXPORT_SYMBOL(__bzero); | ||
207 | EXPORT_SYMBOL(__memscan_zero); | ||
208 | EXPORT_SYMBOL(__memscan_generic); | ||
209 | EXPORT_SYMBOL(__strncmp); | ||
210 | EXPORT_SYMBOL(__memmove); | ||
211 | |||
212 | /* Moving data to/from userspace. */ | ||
213 | EXPORT_SYMBOL(__copy_user); | ||
214 | EXPORT_SYMBOL(__strncpy_from_user); | ||
215 | EXPORT_SYMBOL(__strnlen_user); | ||
216 | |||
217 | /* Networking helper routines. */ | ||
218 | EXPORT_SYMBOL(__csum_partial_copy_sparc_generic); | ||
219 | EXPORT_SYMBOL(csum_partial); | ||
220 | |||
221 | /* Cache flushing. */ | ||
222 | EXPORT_SYMBOL(sparc_flush_page_to_ram); | ||
223 | |||
224 | /* For when serial stuff is built as modules. */ | ||
225 | EXPORT_SYMBOL(sun_do_break); | ||
226 | |||
227 | EXPORT_SYMBOL(__ret_efault); | ||
228 | |||
229 | EXPORT_SYMBOL(memcmp); | ||
230 | EXPORT_SYMBOL(memcpy); | ||
231 | EXPORT_SYMBOL(memset); | ||
232 | EXPORT_SYMBOL(memmove); | ||
233 | EXPORT_SYMBOL(__ashrdi3); | ||
234 | EXPORT_SYMBOL(__ashldi3); | ||
235 | EXPORT_SYMBOL(__lshrdi3); | ||
236 | EXPORT_SYMBOL(__muldi3); | ||
237 | EXPORT_SYMBOL(__divdi3); | ||
238 | |||
239 | EXPORT_SYMBOL(_Rem); | ||
240 | EXPORT_SYMBOL(_Urem); | ||
241 | EXPORT_SYMBOL(_Mul); | ||
242 | EXPORT_SYMBOL(_Umul); | ||
243 | EXPORT_SYMBOL(_Div); | ||
244 | EXPORT_SYMBOL(_Udiv); | ||
245 | |||
246 | #ifdef CONFIG_DEBUG_BUGVERBOSE | ||
247 | EXPORT_SYMBOL(do_BUG); | ||
248 | #endif | ||
249 | |||
250 | /* Sun Power Management Idle Handler */ | ||
251 | EXPORT_SYMBOL(pm_idle); | ||
252 | |||
253 | EXPORT_SYMBOL(empty_zero_page); | ||
diff --git a/arch/sparc/kernel/sparc_ksyms_64.c b/arch/sparc/kernel/sparc_ksyms_64.c index 0133211ab63..0f26066a08d 100644 --- a/arch/sparc/kernel/sparc_ksyms_64.c +++ b/arch/sparc/kernel/sparc_ksyms_64.c | |||
@@ -5,50 +5,15 @@ | |||
5 | * Copyright (C) 1999 Jakub Jelinek (jj@ultra.linux.cz) | 5 | * Copyright (C) 1999 Jakub Jelinek (jj@ultra.linux.cz) |
6 | */ | 6 | */ |
7 | 7 | ||
8 | /* Tell string.h we don't want memcpy etc. as cpp defines */ | ||
9 | #define EXPORT_SYMTAB_STROPS | ||
10 | #define PROMLIB_INTERNAL | ||
11 | |||
12 | #include <linux/module.h> | 8 | #include <linux/module.h> |
13 | #include <linux/types.h> | ||
14 | #include <linux/string.h> | ||
15 | #include <linux/sched.h> | ||
16 | #include <linux/in6.h> | ||
17 | #include <linux/pci.h> | 9 | #include <linux/pci.h> |
18 | #include <linux/interrupt.h> | ||
19 | #include <linux/fs_struct.h> | ||
20 | #include <linux/fs.h> | ||
21 | #include <linux/mm.h> | ||
22 | #include <linux/socket.h> | ||
23 | #include <linux/syscalls.h> | ||
24 | #include <linux/percpu.h> | ||
25 | #include <linux/init.h> | 10 | #include <linux/init.h> |
26 | #include <linux/rwsem.h> | ||
27 | #include <net/compat.h> | ||
28 | 11 | ||
29 | #include <asm/oplib.h> | ||
30 | #include <asm/system.h> | 12 | #include <asm/system.h> |
31 | #include <asm/auxio.h> | ||
32 | #include <asm/pgtable.h> | ||
33 | #include <asm/io.h> | ||
34 | #include <asm/irq.h> | ||
35 | #include <asm/idprom.h> | ||
36 | #include <asm/elf.h> | ||
37 | #include <asm/head.h> | ||
38 | #include <asm/smp.h> | ||
39 | #include <asm/ptrace.h> | ||
40 | #include <asm/uaccess.h> | ||
41 | #include <asm/checksum.h> | ||
42 | #include <asm/fpumacro.h> | ||
43 | #include <asm/pgalloc.h> | ||
44 | #include <asm/cacheflush.h> | ||
45 | #ifdef CONFIG_SBUS | ||
46 | #include <asm/dma.h> | ||
47 | #endif | ||
48 | #include <asm/ns87303.h> | ||
49 | #include <asm/timer.h> | ||
50 | #include <asm/cpudata.h> | 13 | #include <asm/cpudata.h> |
51 | #include <asm/ftrace.h> | 14 | #include <asm/uaccess.h> |
15 | #include <asm/spitfire.h> | ||
16 | #include <asm/oplib.h> | ||
52 | #include <asm/hypervisor.h> | 17 | #include <asm/hypervisor.h> |
53 | 18 | ||
54 | struct poll { | 19 | struct poll { |
@@ -57,114 +22,24 @@ struct poll { | |||
57 | short revents; | 22 | short revents; |
58 | }; | 23 | }; |
59 | 24 | ||
60 | extern void die_if_kernel(char *str, struct pt_regs *regs); | 25 | /* from helpers.S */ |
61 | extern pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags); | ||
62 | extern void *__bzero(void *, size_t); | ||
63 | extern void *__memscan_zero(void *, size_t); | ||
64 | extern void *__memscan_generic(void *, int, size_t); | ||
65 | extern __kernel_size_t strlen(const char *); | ||
66 | extern void sys_sigsuspend(void); | ||
67 | extern int compat_sys_ioctl(unsigned int fd, unsigned int cmd, u32 arg); | ||
68 | extern int (*handle_mathemu)(struct pt_regs *, struct fpustate *); | ||
69 | extern long sparc32_open(const char __user * filename, int flags, int mode); | ||
70 | extern int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from, | ||
71 | unsigned long pfn, unsigned long size, pgprot_t prot); | ||
72 | |||
73 | extern int __ashrdi3(int, int); | ||
74 | |||
75 | extern int dump_fpu (struct pt_regs * regs, elf_fpregset_t * fpregs); | ||
76 | |||
77 | extern void xor_vis_2(unsigned long, unsigned long *, unsigned long *); | ||
78 | extern void xor_vis_3(unsigned long, unsigned long *, unsigned long *, | ||
79 | unsigned long *); | ||
80 | extern void xor_vis_4(unsigned long, unsigned long *, unsigned long *, | ||
81 | unsigned long *, unsigned long *); | ||
82 | extern void xor_vis_5(unsigned long, unsigned long *, unsigned long *, | ||
83 | unsigned long *, unsigned long *, unsigned long *); | ||
84 | |||
85 | extern void xor_niagara_2(unsigned long, unsigned long *, unsigned long *); | ||
86 | extern void xor_niagara_3(unsigned long, unsigned long *, unsigned long *, | ||
87 | unsigned long *); | ||
88 | extern void xor_niagara_4(unsigned long, unsigned long *, unsigned long *, | ||
89 | unsigned long *, unsigned long *); | ||
90 | extern void xor_niagara_5(unsigned long, unsigned long *, unsigned long *, | ||
91 | unsigned long *, unsigned long *, unsigned long *); | ||
92 | |||
93 | /* Per-CPU information table */ | ||
94 | EXPORT_PER_CPU_SYMBOL(__cpu_data); | ||
95 | |||
96 | /* used by various drivers */ | ||
97 | #ifdef CONFIG_SMP | ||
98 | /* Out of line rw-locking implementation. */ | ||
99 | EXPORT_SYMBOL(__read_lock); | ||
100 | EXPORT_SYMBOL(__read_unlock); | ||
101 | EXPORT_SYMBOL(__write_lock); | ||
102 | EXPORT_SYMBOL(__write_unlock); | ||
103 | EXPORT_SYMBOL(__write_trylock); | ||
104 | #endif /* CONFIG_SMP */ | ||
105 | |||
106 | #ifdef CONFIG_MCOUNT | ||
107 | EXPORT_SYMBOL(_mcount); | ||
108 | #endif | ||
109 | |||
110 | EXPORT_SYMBOL(sparc64_get_clock_tick); | ||
111 | |||
112 | /* RW semaphores */ | ||
113 | EXPORT_SYMBOL(__down_read); | ||
114 | EXPORT_SYMBOL(__down_read_trylock); | ||
115 | EXPORT_SYMBOL(__down_write); | ||
116 | EXPORT_SYMBOL(__down_write_trylock); | ||
117 | EXPORT_SYMBOL(__up_read); | ||
118 | EXPORT_SYMBOL(__up_write); | ||
119 | EXPORT_SYMBOL(__downgrade_write); | ||
120 | |||
121 | /* Atomic counter implementation. */ | ||
122 | EXPORT_SYMBOL(atomic_add); | ||
123 | EXPORT_SYMBOL(atomic_add_ret); | ||
124 | EXPORT_SYMBOL(atomic_sub); | ||
125 | EXPORT_SYMBOL(atomic_sub_ret); | ||
126 | EXPORT_SYMBOL(atomic64_add); | ||
127 | EXPORT_SYMBOL(atomic64_add_ret); | ||
128 | EXPORT_SYMBOL(atomic64_sub); | ||
129 | EXPORT_SYMBOL(atomic64_sub_ret); | ||
130 | |||
131 | /* Atomic bit operations. */ | ||
132 | EXPORT_SYMBOL(test_and_set_bit); | ||
133 | EXPORT_SYMBOL(test_and_clear_bit); | ||
134 | EXPORT_SYMBOL(test_and_change_bit); | ||
135 | EXPORT_SYMBOL(set_bit); | ||
136 | EXPORT_SYMBOL(clear_bit); | ||
137 | EXPORT_SYMBOL(change_bit); | ||
138 | |||
139 | EXPORT_SYMBOL(__flushw_user); | 26 | EXPORT_SYMBOL(__flushw_user); |
27 | EXPORT_SYMBOL_GPL(real_hard_smp_processor_id); | ||
140 | 28 | ||
29 | /* from head_64.S */ | ||
30 | EXPORT_SYMBOL(__ret_efault); | ||
141 | EXPORT_SYMBOL(tlb_type); | 31 | EXPORT_SYMBOL(tlb_type); |
142 | EXPORT_SYMBOL(sun4v_chip_type); | 32 | EXPORT_SYMBOL(sun4v_chip_type); |
143 | EXPORT_SYMBOL(get_fb_unmapped_area); | 33 | EXPORT_SYMBOL(prom_root_node); |
144 | EXPORT_SYMBOL(flush_icache_range); | ||
145 | |||
146 | EXPORT_SYMBOL(flush_dcache_page); | ||
147 | #ifdef DCACHE_ALIASING_POSSIBLE | ||
148 | EXPORT_SYMBOL(__flush_dcache_range); | ||
149 | #endif | ||
150 | 34 | ||
35 | /* from hvcalls.S */ | ||
151 | EXPORT_SYMBOL(sun4v_niagara_getperf); | 36 | EXPORT_SYMBOL(sun4v_niagara_getperf); |
152 | EXPORT_SYMBOL(sun4v_niagara_setperf); | 37 | EXPORT_SYMBOL(sun4v_niagara_setperf); |
153 | EXPORT_SYMBOL(sun4v_niagara2_getperf); | 38 | EXPORT_SYMBOL(sun4v_niagara2_getperf); |
154 | EXPORT_SYMBOL(sun4v_niagara2_setperf); | 39 | EXPORT_SYMBOL(sun4v_niagara2_setperf); |
155 | 40 | ||
156 | EXPORT_SYMBOL(auxio_set_led); | ||
157 | EXPORT_SYMBOL(auxio_set_lte); | ||
158 | #ifdef CONFIG_SBUS | ||
159 | EXPORT_SYMBOL(sbus_set_sbus64); | ||
160 | #endif | ||
161 | EXPORT_SYMBOL(outsb); | ||
162 | EXPORT_SYMBOL(outsw); | ||
163 | EXPORT_SYMBOL(outsl); | ||
164 | EXPORT_SYMBOL(insb); | ||
165 | EXPORT_SYMBOL(insw); | ||
166 | EXPORT_SYMBOL(insl); | ||
167 | #ifdef CONFIG_PCI | 41 | #ifdef CONFIG_PCI |
42 | /* inline functions in asm/pci_64.h */ | ||
168 | EXPORT_SYMBOL(pci_alloc_consistent); | 43 | EXPORT_SYMBOL(pci_alloc_consistent); |
169 | EXPORT_SYMBOL(pci_free_consistent); | 44 | EXPORT_SYMBOL(pci_free_consistent); |
170 | EXPORT_SYMBOL(pci_map_single); | 45 | EXPORT_SYMBOL(pci_map_single); |
@@ -173,112 +48,7 @@ EXPORT_SYMBOL(pci_map_sg); | |||
173 | EXPORT_SYMBOL(pci_unmap_sg); | 48 | EXPORT_SYMBOL(pci_unmap_sg); |
174 | EXPORT_SYMBOL(pci_dma_sync_single_for_cpu); | 49 | EXPORT_SYMBOL(pci_dma_sync_single_for_cpu); |
175 | EXPORT_SYMBOL(pci_dma_sync_sg_for_cpu); | 50 | EXPORT_SYMBOL(pci_dma_sync_sg_for_cpu); |
176 | EXPORT_SYMBOL(pci_dma_supported); | ||
177 | #endif | 51 | #endif |
178 | 52 | ||
179 | /* I/O device mmaping on Sparc64. */ | 53 | /* Exporting a symbol from /init/main.c */ |
180 | EXPORT_SYMBOL(io_remap_pfn_range); | ||
181 | |||
182 | EXPORT_SYMBOL(dump_fpu); | ||
183 | |||
184 | /* math-emu wants this */ | ||
185 | EXPORT_SYMBOL(die_if_kernel); | ||
186 | |||
187 | /* Kernel thread creation. */ | ||
188 | EXPORT_SYMBOL(kernel_thread); | ||
189 | |||
190 | /* prom symbols */ | ||
191 | EXPORT_SYMBOL(idprom); | ||
192 | EXPORT_SYMBOL(prom_root_node); | ||
193 | EXPORT_SYMBOL(prom_getchild); | ||
194 | EXPORT_SYMBOL(prom_getsibling); | ||
195 | EXPORT_SYMBOL(prom_searchsiblings); | ||
196 | EXPORT_SYMBOL(prom_firstprop); | ||
197 | EXPORT_SYMBOL(prom_nextprop); | ||
198 | EXPORT_SYMBOL(prom_getproplen); | ||
199 | EXPORT_SYMBOL(prom_getproperty); | ||
200 | EXPORT_SYMBOL(prom_node_has_property); | ||
201 | EXPORT_SYMBOL(prom_setprop); | ||
202 | EXPORT_SYMBOL(saved_command_line); | 54 | EXPORT_SYMBOL(saved_command_line); |
203 | EXPORT_SYMBOL(prom_finddevice); | ||
204 | EXPORT_SYMBOL(prom_feval); | ||
205 | EXPORT_SYMBOL(prom_getbool); | ||
206 | EXPORT_SYMBOL(prom_getstring); | ||
207 | EXPORT_SYMBOL(prom_getint); | ||
208 | EXPORT_SYMBOL(prom_getintdefault); | ||
209 | EXPORT_SYMBOL(__prom_getchild); | ||
210 | EXPORT_SYMBOL(__prom_getsibling); | ||
211 | |||
212 | /* sparc library symbols */ | ||
213 | EXPORT_SYMBOL(strlen); | ||
214 | EXPORT_SYMBOL(__strlen_user); | ||
215 | EXPORT_SYMBOL(__strnlen_user); | ||
216 | |||
217 | /* Special internal versions of library functions. */ | ||
218 | EXPORT_SYMBOL(_clear_page); | ||
219 | EXPORT_SYMBOL(clear_user_page); | ||
220 | EXPORT_SYMBOL(copy_user_page); | ||
221 | EXPORT_SYMBOL(__bzero); | ||
222 | EXPORT_SYMBOL(__memscan_zero); | ||
223 | EXPORT_SYMBOL(__memscan_generic); | ||
224 | EXPORT_SYMBOL(__memset); | ||
225 | |||
226 | EXPORT_SYMBOL(csum_partial); | ||
227 | EXPORT_SYMBOL(csum_partial_copy_nocheck); | ||
228 | EXPORT_SYMBOL(__csum_partial_copy_from_user); | ||
229 | EXPORT_SYMBOL(__csum_partial_copy_to_user); | ||
230 | EXPORT_SYMBOL(ip_fast_csum); | ||
231 | |||
232 | /* Moving data to/from/in userspace. */ | ||
233 | EXPORT_SYMBOL(___copy_to_user); | ||
234 | EXPORT_SYMBOL(___copy_from_user); | ||
235 | EXPORT_SYMBOL(___copy_in_user); | ||
236 | EXPORT_SYMBOL(copy_to_user_fixup); | ||
237 | EXPORT_SYMBOL(copy_from_user_fixup); | ||
238 | EXPORT_SYMBOL(copy_in_user_fixup); | ||
239 | EXPORT_SYMBOL(__strncpy_from_user); | ||
240 | EXPORT_SYMBOL(__clear_user); | ||
241 | |||
242 | /* Various address conversion macros use this. */ | ||
243 | EXPORT_SYMBOL(sparc64_valid_addr_bitmap); | ||
244 | |||
245 | /* No version information on this, heavily used in inline asm, | ||
246 | * and will always be 'void __ret_efault(void)'. | ||
247 | */ | ||
248 | EXPORT_SYMBOL(__ret_efault); | ||
249 | |||
250 | /* No version information on these, as gcc produces such symbols. */ | ||
251 | EXPORT_SYMBOL(memcmp); | ||
252 | EXPORT_SYMBOL(memcpy); | ||
253 | EXPORT_SYMBOL(memset); | ||
254 | EXPORT_SYMBOL(memmove); | ||
255 | EXPORT_SYMBOL(strncmp); | ||
256 | |||
257 | void VISenter(void); | ||
258 | /* RAID code needs this */ | ||
259 | EXPORT_SYMBOL(VISenter); | ||
260 | |||
261 | /* for input/keybdev */ | ||
262 | EXPORT_SYMBOL(sun_do_break); | ||
263 | EXPORT_SYMBOL(stop_a_enabled); | ||
264 | |||
265 | #ifdef CONFIG_DEBUG_BUGVERBOSE | ||
266 | EXPORT_SYMBOL(do_BUG); | ||
267 | #endif | ||
268 | |||
269 | /* for ns8703 */ | ||
270 | EXPORT_SYMBOL(ns87303_lock); | ||
271 | |||
272 | EXPORT_SYMBOL(tick_ops); | ||
273 | |||
274 | EXPORT_SYMBOL(xor_vis_2); | ||
275 | EXPORT_SYMBOL(xor_vis_3); | ||
276 | EXPORT_SYMBOL(xor_vis_4); | ||
277 | EXPORT_SYMBOL(xor_vis_5); | ||
278 | |||
279 | EXPORT_SYMBOL(xor_niagara_2); | ||
280 | EXPORT_SYMBOL(xor_niagara_3); | ||
281 | EXPORT_SYMBOL(xor_niagara_4); | ||
282 | EXPORT_SYMBOL(xor_niagara_5); | ||
283 | |||
284 | EXPORT_SYMBOL_GPL(real_hard_smp_processor_id); | ||
diff --git a/arch/sparc/kernel/sun4d_smp.c b/arch/sparc/kernel/sun4d_smp.c index 16ab0cb731c..50afaed99c8 100644 --- a/arch/sparc/kernel/sun4d_smp.c +++ b/arch/sparc/kernel/sun4d_smp.c | |||
@@ -60,7 +60,7 @@ extern int __smp4d_processor_id(void); | |||
60 | #define SMP_PRINTK(x) | 60 | #define SMP_PRINTK(x) |
61 | #endif | 61 | #endif |
62 | 62 | ||
63 | static inline unsigned long swap(volatile unsigned long *ptr, unsigned long val) | 63 | static inline unsigned long sun4d_swap(volatile unsigned long *ptr, unsigned long val) |
64 | { | 64 | { |
65 | __asm__ __volatile__("swap [%1], %0\n\t" : | 65 | __asm__ __volatile__("swap [%1], %0\n\t" : |
66 | "=&r" (val), "=&r" (ptr) : | 66 | "=&r" (val), "=&r" (ptr) : |
@@ -115,7 +115,7 @@ void __cpuinit smp4d_callin(void) | |||
115 | local_flush_tlb_all(); | 115 | local_flush_tlb_all(); |
116 | 116 | ||
117 | /* Allow master to continue. */ | 117 | /* Allow master to continue. */ |
118 | swap((unsigned long *)&cpu_callin_map[cpuid], 1); | 118 | sun4d_swap((unsigned long *)&cpu_callin_map[cpuid], 1); |
119 | local_flush_cache_all(); | 119 | local_flush_cache_all(); |
120 | local_flush_tlb_all(); | 120 | local_flush_tlb_all(); |
121 | 121 | ||
diff --git a/arch/sparc/kernel/sun4m_smp.c b/arch/sparc/kernel/sun4m_smp.c index 4f8d60586b0..8040376c489 100644 --- a/arch/sparc/kernel/sun4m_smp.c +++ b/arch/sparc/kernel/sun4m_smp.c | |||
@@ -54,7 +54,8 @@ extern int __smp4m_processor_id(void); | |||
54 | #define SMP_PRINTK(x) | 54 | #define SMP_PRINTK(x) |
55 | #endif | 55 | #endif |
56 | 56 | ||
57 | static inline unsigned long swap(volatile unsigned long *ptr, unsigned long val) | 57 | static inline unsigned long |
58 | swap_ulong(volatile unsigned long *ptr, unsigned long val) | ||
58 | { | 59 | { |
59 | __asm__ __volatile__("swap [%1], %0\n\t" : | 60 | __asm__ __volatile__("swap [%1], %0\n\t" : |
60 | "=&r" (val), "=&r" (ptr) : | 61 | "=&r" (val), "=&r" (ptr) : |
@@ -90,7 +91,7 @@ void __cpuinit smp4m_callin(void) | |||
90 | * to call the scheduler code. | 91 | * to call the scheduler code. |
91 | */ | 92 | */ |
92 | /* Allow master to continue. */ | 93 | /* Allow master to continue. */ |
93 | swap(&cpu_callin_map[cpuid], 1); | 94 | swap_ulong(&cpu_callin_map[cpuid], 1); |
94 | 95 | ||
95 | /* XXX: What's up with all the flushes? */ | 96 | /* XXX: What's up with all the flushes? */ |
96 | local_flush_cache_all(); | 97 | local_flush_cache_all(); |
diff --git a/arch/sparc/kernel/sys_sparc_64.c b/arch/sparc/kernel/sys_sparc_64.c index 39749e32dc7..09058fc39e7 100644 --- a/arch/sparc/kernel/sys_sparc_64.c +++ b/arch/sparc/kernel/sys_sparc_64.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/ipc.h> | 23 | #include <linux/ipc.h> |
24 | #include <linux/personality.h> | 24 | #include <linux/personality.h> |
25 | #include <linux/random.h> | 25 | #include <linux/random.h> |
26 | #include <linux/module.h> | ||
26 | 27 | ||
27 | #include <asm/uaccess.h> | 28 | #include <asm/uaccess.h> |
28 | #include <asm/utrap.h> | 29 | #include <asm/utrap.h> |
@@ -354,6 +355,7 @@ unsigned long get_fb_unmapped_area(struct file *filp, unsigned long orig_addr, u | |||
354 | 355 | ||
355 | return addr; | 356 | return addr; |
356 | } | 357 | } |
358 | EXPORT_SYMBOL(get_fb_unmapped_area); | ||
357 | 359 | ||
358 | /* Essentially the same as PowerPC... */ | 360 | /* Essentially the same as PowerPC... */ |
359 | void arch_pick_mmap_layout(struct mm_struct *mm) | 361 | void arch_pick_mmap_layout(struct mm_struct *mm) |
diff --git a/arch/sparc/kernel/syscalls.S b/arch/sparc/kernel/syscalls.S index 7a6786a7136..87f5a3b8a25 100644 --- a/arch/sparc/kernel/syscalls.S +++ b/arch/sparc/kernel/syscalls.S | |||
@@ -20,7 +20,7 @@ execve_merge: | |||
20 | add %sp, PTREGS_OFF, %o0 | 20 | add %sp, PTREGS_OFF, %o0 |
21 | 21 | ||
22 | .align 32 | 22 | .align 32 |
23 | sys_pipe: | 23 | sys_sparc_pipe: |
24 | ba,pt %xcc, sparc_pipe | 24 | ba,pt %xcc, sparc_pipe |
25 | add %sp, PTREGS_OFF, %o0 | 25 | add %sp, PTREGS_OFF, %o0 |
26 | sys_nis_syscall: | 26 | sys_nis_syscall: |
diff --git a/arch/sparc/kernel/systbls_32.S b/arch/sparc/kernel/systbls_32.S index 7d080758644..dccc95df0c7 100644 --- a/arch/sparc/kernel/systbls_32.S +++ b/arch/sparc/kernel/systbls_32.S | |||
@@ -24,7 +24,7 @@ sys_call_table: | |||
24 | /*25*/ .long sys_vmsplice, sys_ptrace, sys_alarm, sys_sigaltstack, sys_pause | 24 | /*25*/ .long sys_vmsplice, sys_ptrace, sys_alarm, sys_sigaltstack, sys_pause |
25 | /*30*/ .long sys_utime, sys_lchown, sys_fchown, sys_access, sys_nice | 25 | /*30*/ .long sys_utime, sys_lchown, sys_fchown, sys_access, sys_nice |
26 | /*35*/ .long sys_chown, sys_sync, sys_kill, sys_newstat, sys_sendfile | 26 | /*35*/ .long sys_chown, sys_sync, sys_kill, sys_newstat, sys_sendfile |
27 | /*40*/ .long sys_newlstat, sys_dup, sys_pipe, sys_times, sys_getuid | 27 | /*40*/ .long sys_newlstat, sys_dup, sys_sparc_pipe, sys_times, sys_getuid |
28 | /*45*/ .long sys_umount, sys_setgid16, sys_getgid16, sys_signal, sys_geteuid16 | 28 | /*45*/ .long sys_umount, sys_setgid16, sys_getgid16, sys_signal, sys_geteuid16 |
29 | /*50*/ .long sys_getegid16, sys_acct, sys_nis_syscall, sys_getgid, sys_ioctl | 29 | /*50*/ .long sys_getegid16, sys_acct, sys_nis_syscall, sys_getgid, sys_ioctl |
30 | /*55*/ .long sys_reboot, sys_mmap2, sys_symlink, sys_readlink, sys_execve | 30 | /*55*/ .long sys_reboot, sys_mmap2, sys_symlink, sys_readlink, sys_execve |
@@ -56,7 +56,7 @@ sys_call_table: | |||
56 | /*185*/ .long sys_setpgid, sys_fremovexattr, sys_tkill, sys_exit_group, sys_newuname | 56 | /*185*/ .long sys_setpgid, sys_fremovexattr, sys_tkill, sys_exit_group, sys_newuname |
57 | /*190*/ .long sys_init_module, sys_personality, sparc_remap_file_pages, sys_epoll_create, sys_epoll_ctl | 57 | /*190*/ .long sys_init_module, sys_personality, sparc_remap_file_pages, sys_epoll_create, sys_epoll_ctl |
58 | /*195*/ .long sys_epoll_wait, sys_ioprio_set, sys_getppid, sparc_sigaction, sys_sgetmask | 58 | /*195*/ .long sys_epoll_wait, sys_ioprio_set, sys_getppid, sparc_sigaction, sys_sgetmask |
59 | /*200*/ .long sys_ssetmask, sys_sigsuspend, sys_newlstat, sys_uselib, old_readdir | 59 | /*200*/ .long sys_ssetmask, sys_sigsuspend, sys_newlstat, sys_uselib, sys_old_readdir |
60 | /*205*/ .long sys_readahead, sys_socketcall, sys_syslog, sys_lookup_dcookie, sys_fadvise64 | 60 | /*205*/ .long sys_readahead, sys_socketcall, sys_syslog, sys_lookup_dcookie, sys_fadvise64 |
61 | /*210*/ .long sys_fadvise64_64, sys_tgkill, sys_waitpid, sys_swapoff, sys_sysinfo | 61 | /*210*/ .long sys_fadvise64_64, sys_tgkill, sys_waitpid, sys_swapoff, sys_sysinfo |
62 | /*215*/ .long sys_ipc, sys_sigreturn, sys_clone, sys_ioprio_get, sys_adjtimex | 62 | /*215*/ .long sys_ipc, sys_sigreturn, sys_clone, sys_ioprio_get, sys_adjtimex |
diff --git a/arch/sparc/kernel/systbls_64.S b/arch/sparc/kernel/systbls_64.S index 9fc78cf354b..e6007bb3704 100644 --- a/arch/sparc/kernel/systbls_64.S +++ b/arch/sparc/kernel/systbls_64.S | |||
@@ -26,7 +26,7 @@ sys_call_table32: | |||
26 | /*25*/ .word sys32_vmsplice, compat_sys_ptrace, sys_alarm, sys32_sigaltstack, sys_pause | 26 | /*25*/ .word sys32_vmsplice, compat_sys_ptrace, sys_alarm, sys32_sigaltstack, sys_pause |
27 | /*30*/ .word compat_sys_utime, sys_lchown, sys_fchown, sys32_access, sys32_nice | 27 | /*30*/ .word compat_sys_utime, sys_lchown, sys_fchown, sys32_access, sys32_nice |
28 | .word sys_chown, sys_sync, sys32_kill, compat_sys_newstat, sys32_sendfile | 28 | .word sys_chown, sys_sync, sys32_kill, compat_sys_newstat, sys32_sendfile |
29 | /*40*/ .word compat_sys_newlstat, sys_dup, sys_pipe, compat_sys_times, sys_getuid | 29 | /*40*/ .word compat_sys_newlstat, sys_dup, sys_sparc_pipe, compat_sys_times, sys_getuid |
30 | .word sys32_umount, sys_setgid16, sys_getgid16, sys32_signal, sys_geteuid16 | 30 | .word sys32_umount, sys_setgid16, sys_getgid16, sys32_signal, sys_geteuid16 |
31 | /*50*/ .word sys_getegid16, sys_acct, sys_nis_syscall, sys_getgid, compat_sys_ioctl | 31 | /*50*/ .word sys_getegid16, sys_acct, sys_nis_syscall, sys_getgid, compat_sys_ioctl |
32 | .word sys32_reboot, sys32_mmap2, sys_symlink, sys32_readlink, sys32_execve | 32 | .word sys32_reboot, sys32_mmap2, sys_symlink, sys32_readlink, sys32_execve |
@@ -100,7 +100,7 @@ sys_call_table: | |||
100 | /*25*/ .word sys_vmsplice, sys_ptrace, sys_alarm, sys_sigaltstack, sys_nis_syscall | 100 | /*25*/ .word sys_vmsplice, sys_ptrace, sys_alarm, sys_sigaltstack, sys_nis_syscall |
101 | /*30*/ .word sys_utime, sys_nis_syscall, sys_nis_syscall, sys_access, sys_nice | 101 | /*30*/ .word sys_utime, sys_nis_syscall, sys_nis_syscall, sys_access, sys_nice |
102 | .word sys_nis_syscall, sys_sync, sys_kill, sys_newstat, sys_sendfile64 | 102 | .word sys_nis_syscall, sys_sync, sys_kill, sys_newstat, sys_sendfile64 |
103 | /*40*/ .word sys_newlstat, sys_dup, sys_pipe, sys_times, sys_nis_syscall | 103 | /*40*/ .word sys_newlstat, sys_dup, sys_sparc_pipe, sys_times, sys_nis_syscall |
104 | .word sys_umount, sys_setgid, sys_getgid, sys_signal, sys_geteuid | 104 | .word sys_umount, sys_setgid, sys_getgid, sys_signal, sys_geteuid |
105 | /*50*/ .word sys_getegid, sys_acct, sys_memory_ordering, sys_nis_syscall, sys_ioctl | 105 | /*50*/ .word sys_getegid, sys_acct, sys_memory_ordering, sys_nis_syscall, sys_ioctl |
106 | .word sys_reboot, sys_nis_syscall, sys_symlink, sys_readlink, sys_execve | 106 | .word sys_reboot, sys_nis_syscall, sys_symlink, sys_readlink, sys_execve |
diff --git a/arch/sparc/kernel/time_32.c b/arch/sparc/kernel/time_32.c index 00f7383c765..614ac7b4a9d 100644 --- a/arch/sparc/kernel/time_32.c +++ b/arch/sparc/kernel/time_32.c | |||
@@ -48,6 +48,8 @@ | |||
48 | #include "irq.h" | 48 | #include "irq.h" |
49 | 49 | ||
50 | DEFINE_SPINLOCK(rtc_lock); | 50 | DEFINE_SPINLOCK(rtc_lock); |
51 | EXPORT_SYMBOL(rtc_lock); | ||
52 | |||
51 | static int set_rtc_mmss(unsigned long); | 53 | static int set_rtc_mmss(unsigned long); |
52 | static int sbus_do_settimeofday(struct timespec *tv); | 54 | static int sbus_do_settimeofday(struct timespec *tv); |
53 | 55 | ||
diff --git a/arch/sparc/kernel/time_64.c b/arch/sparc/kernel/time_64.c index 9df8f095a8b..2db3c2229b9 100644 --- a/arch/sparc/kernel/time_64.c +++ b/arch/sparc/kernel/time_64.c | |||
@@ -106,7 +106,7 @@ static void tick_init_tick(void) | |||
106 | tick_disable_irq(); | 106 | tick_disable_irq(); |
107 | } | 107 | } |
108 | 108 | ||
109 | static unsigned long tick_get_tick(void) | 109 | static unsigned long long tick_get_tick(void) |
110 | { | 110 | { |
111 | unsigned long ret; | 111 | unsigned long ret; |
112 | 112 | ||
@@ -176,6 +176,7 @@ static struct sparc64_tick_ops tick_operations __read_mostly = { | |||
176 | }; | 176 | }; |
177 | 177 | ||
178 | struct sparc64_tick_ops *tick_ops __read_mostly = &tick_operations; | 178 | struct sparc64_tick_ops *tick_ops __read_mostly = &tick_operations; |
179 | EXPORT_SYMBOL(tick_ops); | ||
179 | 180 | ||
180 | static void stick_disable_irq(void) | 181 | static void stick_disable_irq(void) |
181 | { | 182 | { |
@@ -208,7 +209,7 @@ static void stick_init_tick(void) | |||
208 | stick_disable_irq(); | 209 | stick_disable_irq(); |
209 | } | 210 | } |
210 | 211 | ||
211 | static unsigned long stick_get_tick(void) | 212 | static unsigned long long stick_get_tick(void) |
212 | { | 213 | { |
213 | unsigned long ret; | 214 | unsigned long ret; |
214 | 215 | ||
@@ -352,7 +353,7 @@ static void hbtick_init_tick(void) | |||
352 | hbtick_disable_irq(); | 353 | hbtick_disable_irq(); |
353 | } | 354 | } |
354 | 355 | ||
355 | static unsigned long hbtick_get_tick(void) | 356 | static unsigned long long hbtick_get_tick(void) |
356 | { | 357 | { |
357 | return __hbird_read_stick() & ~TICK_PRIV_BIT; | 358 | return __hbird_read_stick() & ~TICK_PRIV_BIT; |
358 | } | 359 | } |
@@ -422,7 +423,7 @@ static int __devinit rtc_probe(struct of_device *op, const struct of_device_id * | |||
422 | { | 423 | { |
423 | struct resource *r; | 424 | struct resource *r; |
424 | 425 | ||
425 | printk(KERN_INFO "%s: RTC regs at 0x%lx\n", | 426 | printk(KERN_INFO "%s: RTC regs at 0x%llx\n", |
426 | op->node->full_name, op->resource[0].start); | 427 | op->node->full_name, op->resource[0].start); |
427 | 428 | ||
428 | /* The CMOS RTC driver only accepts IORESOURCE_IO, so cons | 429 | /* The CMOS RTC driver only accepts IORESOURCE_IO, so cons |
@@ -478,7 +479,7 @@ static struct platform_device rtc_bq4802_device = { | |||
478 | static int __devinit bq4802_probe(struct of_device *op, const struct of_device_id *match) | 479 | static int __devinit bq4802_probe(struct of_device *op, const struct of_device_id *match) |
479 | { | 480 | { |
480 | 481 | ||
481 | printk(KERN_INFO "%s: BQ4802 regs at 0x%lx\n", | 482 | printk(KERN_INFO "%s: BQ4802 regs at 0x%llx\n", |
482 | op->node->full_name, op->resource[0].start); | 483 | op->node->full_name, op->resource[0].start); |
483 | 484 | ||
484 | rtc_bq4802_device.resource = &op->resource[0]; | 485 | rtc_bq4802_device.resource = &op->resource[0]; |
@@ -542,7 +543,7 @@ static int __devinit mostek_probe(struct of_device *op, const struct of_device_i | |||
542 | strcmp(dp->parent->parent->name, "central") != 0) | 543 | strcmp(dp->parent->parent->name, "central") != 0) |
543 | return -ENODEV; | 544 | return -ENODEV; |
544 | 545 | ||
545 | printk(KERN_INFO "%s: Mostek regs at 0x%lx\n", | 546 | printk(KERN_INFO "%s: Mostek regs at 0x%llx\n", |
546 | dp->full_name, op->resource[0].start); | 547 | dp->full_name, op->resource[0].start); |
547 | 548 | ||
548 | m48t59_rtc.resource = &op->resource[0]; | 549 | m48t59_rtc.resource = &op->resource[0]; |
@@ -639,6 +640,7 @@ unsigned long sparc64_get_clock_tick(unsigned int cpu) | |||
639 | return ft->clock_tick_ref; | 640 | return ft->clock_tick_ref; |
640 | return cpu_data(cpu).clock_tick; | 641 | return cpu_data(cpu).clock_tick; |
641 | } | 642 | } |
643 | EXPORT_SYMBOL(sparc64_get_clock_tick); | ||
642 | 644 | ||
643 | #ifdef CONFIG_CPU_FREQ | 645 | #ifdef CONFIG_CPU_FREQ |
644 | 646 | ||
diff --git a/arch/sparc/kernel/traps_32.c b/arch/sparc/kernel/traps_32.c index 213645be6e9..358283341b4 100644 --- a/arch/sparc/kernel/traps_32.c +++ b/arch/sparc/kernel/traps_32.c | |||
@@ -424,6 +424,7 @@ void do_BUG(const char *file, int line) | |||
424 | // bust_spinlocks(1); XXX Not in our original BUG() | 424 | // bust_spinlocks(1); XXX Not in our original BUG() |
425 | printk("kernel BUG at %s:%d!\n", file, line); | 425 | printk("kernel BUG at %s:%d!\n", file, line); |
426 | } | 426 | } |
427 | EXPORT_SYMBOL(do_BUG); | ||
427 | #endif | 428 | #endif |
428 | 429 | ||
429 | /* Since we have our mappings set up, on multiprocessors we can spin them | 430 | /* Since we have our mappings set up, on multiprocessors we can spin them |
diff --git a/arch/sparc/kernel/traps_64.c b/arch/sparc/kernel/traps_64.c index 4638af2f55a..c2d153d4658 100644 --- a/arch/sparc/kernel/traps_64.c +++ b/arch/sparc/kernel/traps_64.c | |||
@@ -128,6 +128,7 @@ void do_BUG(const char *file, int line) | |||
128 | bust_spinlocks(1); | 128 | bust_spinlocks(1); |
129 | printk("kernel BUG at %s:%d!\n", file, line); | 129 | printk("kernel BUG at %s:%d!\n", file, line); |
130 | } | 130 | } |
131 | EXPORT_SYMBOL(do_BUG); | ||
131 | #endif | 132 | #endif |
132 | 133 | ||
133 | static DEFINE_SPINLOCK(dimm_handler_lock); | 134 | static DEFINE_SPINLOCK(dimm_handler_lock); |
@@ -1168,20 +1169,20 @@ static void cheetah_log_errors(struct pt_regs *regs, struct cheetah_err_info *in | |||
1168 | } | 1169 | } |
1169 | 1170 | ||
1170 | /* Now dump the cache snapshots. */ | 1171 | /* Now dump the cache snapshots. */ |
1171 | printk("%s" "ERROR(%d): D-cache idx[%x] tag[%016lx] utag[%016lx] stag[%016lx]\n", | 1172 | printk("%s" "ERROR(%d): D-cache idx[%x] tag[%016llx] utag[%016llx] stag[%016llx]\n", |
1172 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), | 1173 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), |
1173 | (int) info->dcache_index, | 1174 | (int) info->dcache_index, |
1174 | info->dcache_tag, | 1175 | info->dcache_tag, |
1175 | info->dcache_utag, | 1176 | info->dcache_utag, |
1176 | info->dcache_stag); | 1177 | info->dcache_stag); |
1177 | printk("%s" "ERROR(%d): D-cache data0[%016lx] data1[%016lx] data2[%016lx] data3[%016lx]\n", | 1178 | printk("%s" "ERROR(%d): D-cache data0[%016llx] data1[%016llx] data2[%016llx] data3[%016llx]\n", |
1178 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), | 1179 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), |
1179 | info->dcache_data[0], | 1180 | info->dcache_data[0], |
1180 | info->dcache_data[1], | 1181 | info->dcache_data[1], |
1181 | info->dcache_data[2], | 1182 | info->dcache_data[2], |
1182 | info->dcache_data[3]); | 1183 | info->dcache_data[3]); |
1183 | printk("%s" "ERROR(%d): I-cache idx[%x] tag[%016lx] utag[%016lx] stag[%016lx] " | 1184 | printk("%s" "ERROR(%d): I-cache idx[%x] tag[%016llx] utag[%016llx] stag[%016llx] " |
1184 | "u[%016lx] l[%016lx]\n", | 1185 | "u[%016llx] l[%016llx]\n", |
1185 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), | 1186 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), |
1186 | (int) info->icache_index, | 1187 | (int) info->icache_index, |
1187 | info->icache_tag, | 1188 | info->icache_tag, |
@@ -1189,22 +1190,22 @@ static void cheetah_log_errors(struct pt_regs *regs, struct cheetah_err_info *in | |||
1189 | info->icache_stag, | 1190 | info->icache_stag, |
1190 | info->icache_upper, | 1191 | info->icache_upper, |
1191 | info->icache_lower); | 1192 | info->icache_lower); |
1192 | printk("%s" "ERROR(%d): I-cache INSN0[%016lx] INSN1[%016lx] INSN2[%016lx] INSN3[%016lx]\n", | 1193 | printk("%s" "ERROR(%d): I-cache INSN0[%016llx] INSN1[%016llx] INSN2[%016llx] INSN3[%016llx]\n", |
1193 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), | 1194 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), |
1194 | info->icache_data[0], | 1195 | info->icache_data[0], |
1195 | info->icache_data[1], | 1196 | info->icache_data[1], |
1196 | info->icache_data[2], | 1197 | info->icache_data[2], |
1197 | info->icache_data[3]); | 1198 | info->icache_data[3]); |
1198 | printk("%s" "ERROR(%d): I-cache INSN4[%016lx] INSN5[%016lx] INSN6[%016lx] INSN7[%016lx]\n", | 1199 | printk("%s" "ERROR(%d): I-cache INSN4[%016llx] INSN5[%016llx] INSN6[%016llx] INSN7[%016llx]\n", |
1199 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), | 1200 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), |
1200 | info->icache_data[4], | 1201 | info->icache_data[4], |
1201 | info->icache_data[5], | 1202 | info->icache_data[5], |
1202 | info->icache_data[6], | 1203 | info->icache_data[6], |
1203 | info->icache_data[7]); | 1204 | info->icache_data[7]); |
1204 | printk("%s" "ERROR(%d): E-cache idx[%x] tag[%016lx]\n", | 1205 | printk("%s" "ERROR(%d): E-cache idx[%x] tag[%016llx]\n", |
1205 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), | 1206 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), |
1206 | (int) info->ecache_index, info->ecache_tag); | 1207 | (int) info->ecache_index, info->ecache_tag); |
1207 | printk("%s" "ERROR(%d): E-cache data0[%016lx] data1[%016lx] data2[%016lx] data3[%016lx]\n", | 1208 | printk("%s" "ERROR(%d): E-cache data0[%016llx] data1[%016llx] data2[%016llx] data3[%016llx]\n", |
1208 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), | 1209 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), |
1209 | info->ecache_data[0], | 1210 | info->ecache_data[0], |
1210 | info->ecache_data[1], | 1211 | info->ecache_data[1], |
@@ -1794,7 +1795,7 @@ static void sun4v_log_error(struct pt_regs *regs, struct sun4v_error_entry *ent, | |||
1794 | int cnt; | 1795 | int cnt; |
1795 | 1796 | ||
1796 | printk("%s: Reporting on cpu %d\n", pfx, cpu); | 1797 | printk("%s: Reporting on cpu %d\n", pfx, cpu); |
1797 | printk("%s: err_handle[%lx] err_stick[%lx] err_type[%08x:%s]\n", | 1798 | printk("%s: err_handle[%llx] err_stick[%llx] err_type[%08x:%s]\n", |
1798 | pfx, | 1799 | pfx, |
1799 | ent->err_handle, ent->err_stick, | 1800 | ent->err_handle, ent->err_stick, |
1800 | ent->err_type, | 1801 | ent->err_type, |
@@ -1818,7 +1819,7 @@ static void sun4v_log_error(struct pt_regs *regs, struct sun4v_error_entry *ent, | |||
1818 | "privileged" : ""), | 1819 | "privileged" : ""), |
1819 | ((ent->err_attrs & SUN4V_ERR_ATTRS_RES_QUEUE_FULL) ? | 1820 | ((ent->err_attrs & SUN4V_ERR_ATTRS_RES_QUEUE_FULL) ? |
1820 | "queue-full" : "")); | 1821 | "queue-full" : "")); |
1821 | printk("%s: err_raddr[%016lx] err_size[%u] err_cpu[%u]\n", | 1822 | printk("%s: err_raddr[%016llx] err_size[%u] err_cpu[%u]\n", |
1822 | pfx, | 1823 | pfx, |
1823 | ent->err_raddr, ent->err_size, ent->err_cpu); | 1824 | ent->err_raddr, ent->err_size, ent->err_cpu); |
1824 | 1825 | ||
@@ -2261,6 +2262,7 @@ void die_if_kernel(char *str, struct pt_regs *regs) | |||
2261 | do_exit(SIGKILL); | 2262 | do_exit(SIGKILL); |
2262 | do_exit(SIGSEGV); | 2263 | do_exit(SIGSEGV); |
2263 | } | 2264 | } |
2265 | EXPORT_SYMBOL(die_if_kernel); | ||
2264 | 2266 | ||
2265 | #define VIS_OPCODE_MASK ((0x3 << 30) | (0x3f << 19)) | 2267 | #define VIS_OPCODE_MASK ((0x3 << 30) | (0x3f << 19)) |
2266 | #define VIS_OPCODE_VAL ((0x2 << 30) | (0x36 << 19)) | 2268 | #define VIS_OPCODE_VAL ((0x2 << 30) | (0x36 << 19)) |
diff --git a/arch/sparc/kernel/unaligned_64.c b/arch/sparc/kernel/unaligned_64.c index 203ddfad9f2..379209982a0 100644 --- a/arch/sparc/kernel/unaligned_64.c +++ b/arch/sparc/kernel/unaligned_64.c | |||
@@ -589,7 +589,6 @@ void handle_lddfmna(struct pt_regs *regs, unsigned long sfar, unsigned long sfsr | |||
589 | unsigned long pc = regs->tpc; | 589 | unsigned long pc = regs->tpc; |
590 | unsigned long tstate = regs->tstate; | 590 | unsigned long tstate = regs->tstate; |
591 | u32 insn; | 591 | u32 insn; |
592 | u32 first, second; | ||
593 | u64 value; | 592 | u64 value; |
594 | u8 freg; | 593 | u8 freg; |
595 | int flag; | 594 | int flag; |
@@ -601,15 +600,20 @@ void handle_lddfmna(struct pt_regs *regs, unsigned long sfar, unsigned long sfsr | |||
601 | pc = (u32)pc; | 600 | pc = (u32)pc; |
602 | if (get_user(insn, (u32 __user *) pc) != -EFAULT) { | 601 | if (get_user(insn, (u32 __user *) pc) != -EFAULT) { |
603 | int asi = decode_asi(insn, regs); | 602 | int asi = decode_asi(insn, regs); |
603 | u32 first, second; | ||
604 | int err; | ||
605 | |||
604 | if ((asi > ASI_SNFL) || | 606 | if ((asi > ASI_SNFL) || |
605 | (asi < ASI_P)) | 607 | (asi < ASI_P)) |
606 | goto daex; | 608 | goto daex; |
607 | if (get_user(first, (u32 __user *)sfar) || | 609 | first = second = 0; |
608 | get_user(second, (u32 __user *)(sfar + 4))) { | 610 | err = get_user(first, (u32 __user *)sfar); |
609 | if (asi & 0x2) /* NF */ { | 611 | if (!err) |
610 | first = 0; second = 0; | 612 | err = get_user(second, (u32 __user *)(sfar + 4)); |
611 | } else | 613 | if (err) { |
614 | if (!(asi & 0x2)) | ||
612 | goto daex; | 615 | goto daex; |
616 | first = second = 0; | ||
613 | } | 617 | } |
614 | save_and_clear_fpu(); | 618 | save_and_clear_fpu(); |
615 | freg = ((insn >> 25) & 0x1e) | ((insn >> 20) & 0x20); | 619 | freg = ((insn >> 25) & 0x1e) | ((insn >> 20) & 0x20); |
diff --git a/arch/sparc/kernel/vio.c b/arch/sparc/kernel/vio.c index 92b1f8ec01d..753d128ed15 100644 --- a/arch/sparc/kernel/vio.c +++ b/arch/sparc/kernel/vio.c | |||
@@ -263,10 +263,10 @@ static struct vio_dev *vio_create_one(struct mdesc_handle *hp, u64 mp, | |||
263 | dev_set_name(&vdev->dev, "%s", bus_id_name); | 263 | dev_set_name(&vdev->dev, "%s", bus_id_name); |
264 | vdev->dev_no = ~(u64)0; | 264 | vdev->dev_no = ~(u64)0; |
265 | } else if (!cfg_handle) { | 265 | } else if (!cfg_handle) { |
266 | dev_set_name(&vdev->dev, "%s-%lu", bus_id_name, *id); | 266 | dev_set_name(&vdev->dev, "%s-%llu", bus_id_name, *id); |
267 | vdev->dev_no = *id; | 267 | vdev->dev_no = *id; |
268 | } else { | 268 | } else { |
269 | dev_set_name(&vdev->dev, "%s-%lu-%lu", bus_id_name, | 269 | dev_set_name(&vdev->dev, "%s-%llu-%llu", bus_id_name, |
270 | *cfg_handle, *id); | 270 | *cfg_handle, *id); |
271 | vdev->dev_no = *cfg_handle; | 271 | vdev->dev_no = *cfg_handle; |
272 | } | 272 | } |
diff --git a/arch/sparc/kernel/viohs.c b/arch/sparc/kernel/viohs.c index 708fa1705fb..aa6ac70d4fd 100644 --- a/arch/sparc/kernel/viohs.c +++ b/arch/sparc/kernel/viohs.c | |||
@@ -337,8 +337,10 @@ static int process_ver_nack(struct vio_driver_state *vio, | |||
337 | viodbg(HS, "GOT VERSION NACK maj[%u] min[%u] devclass[%u]\n", | 337 | viodbg(HS, "GOT VERSION NACK maj[%u] min[%u] devclass[%u]\n", |
338 | pkt->major, pkt->minor, pkt->dev_class); | 338 | pkt->major, pkt->minor, pkt->dev_class); |
339 | 339 | ||
340 | if ((pkt->major == 0 && pkt->minor == 0) || | 340 | if (pkt->major == 0 && pkt->minor == 0) |
341 | !(nver = find_by_major(vio, pkt->major))) | 341 | return handshake_failure(vio); |
342 | nver = find_by_major(vio, pkt->major); | ||
343 | if (!nver) | ||
342 | return handshake_failure(vio); | 344 | return handshake_failure(vio); |
343 | 345 | ||
344 | if (send_version(vio, nver->major, nver->minor) < 0) | 346 | if (send_version(vio, nver->major, nver->minor) < 0) |
diff --git a/arch/sparc/lib/Makefile b/arch/sparc/lib/Makefile index 375016e1914..273fc85269f 100644 --- a/arch/sparc/lib/Makefile +++ b/arch/sparc/lib/Makefile | |||
@@ -42,3 +42,4 @@ lib-$(CONFIG_SPARC64) += mcount.o ipcsum.o xor.o | |||
42 | 42 | ||
43 | obj-y += iomap.o | 43 | obj-y += iomap.o |
44 | obj-$(CONFIG_SPARC32) += atomic32.o | 44 | obj-$(CONFIG_SPARC32) += atomic32.o |
45 | obj-y += ksyms.o | ||
diff --git a/arch/sparc/lib/PeeCeeI.c b/arch/sparc/lib/PeeCeeI.c index 46053e6ddd7..6529f865759 100644 --- a/arch/sparc/lib/PeeCeeI.c +++ b/arch/sparc/lib/PeeCeeI.c | |||
@@ -4,6 +4,8 @@ | |||
4 | * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu) | 4 | * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu) |
5 | */ | 5 | */ |
6 | 6 | ||
7 | #include <linux/module.h> | ||
8 | |||
7 | #include <asm/io.h> | 9 | #include <asm/io.h> |
8 | #include <asm/byteorder.h> | 10 | #include <asm/byteorder.h> |
9 | 11 | ||
@@ -15,6 +17,7 @@ void outsb(unsigned long __addr, const void *src, unsigned long count) | |||
15 | while (count--) | 17 | while (count--) |
16 | outb(*p++, addr); | 18 | outb(*p++, addr); |
17 | } | 19 | } |
20 | EXPORT_SYMBOL(outsb); | ||
18 | 21 | ||
19 | void outsw(unsigned long __addr, const void *src, unsigned long count) | 22 | void outsw(unsigned long __addr, const void *src, unsigned long count) |
20 | { | 23 | { |
@@ -25,6 +28,7 @@ void outsw(unsigned long __addr, const void *src, unsigned long count) | |||
25 | src += sizeof(u16); | 28 | src += sizeof(u16); |
26 | } | 29 | } |
27 | } | 30 | } |
31 | EXPORT_SYMBOL(outsw); | ||
28 | 32 | ||
29 | void outsl(unsigned long __addr, const void *src, unsigned long count) | 33 | void outsl(unsigned long __addr, const void *src, unsigned long count) |
30 | { | 34 | { |
@@ -78,6 +82,7 @@ void outsl(unsigned long __addr, const void *src, unsigned long count) | |||
78 | break; | 82 | break; |
79 | } | 83 | } |
80 | } | 84 | } |
85 | EXPORT_SYMBOL(outsl); | ||
81 | 86 | ||
82 | void insb(unsigned long __addr, void *dst, unsigned long count) | 87 | void insb(unsigned long __addr, void *dst, unsigned long count) |
83 | { | 88 | { |
@@ -105,6 +110,7 @@ void insb(unsigned long __addr, void *dst, unsigned long count) | |||
105 | *pb++ = inb(addr); | 110 | *pb++ = inb(addr); |
106 | } | 111 | } |
107 | } | 112 | } |
113 | EXPORT_SYMBOL(insb); | ||
108 | 114 | ||
109 | void insw(unsigned long __addr, void *dst, unsigned long count) | 115 | void insw(unsigned long __addr, void *dst, unsigned long count) |
110 | { | 116 | { |
@@ -132,6 +138,7 @@ void insw(unsigned long __addr, void *dst, unsigned long count) | |||
132 | *ps = le16_to_cpu(inw(addr)); | 138 | *ps = le16_to_cpu(inw(addr)); |
133 | } | 139 | } |
134 | } | 140 | } |
141 | EXPORT_SYMBOL(insw); | ||
135 | 142 | ||
136 | void insl(unsigned long __addr, void *dst, unsigned long count) | 143 | void insl(unsigned long __addr, void *dst, unsigned long count) |
137 | { | 144 | { |
@@ -200,4 +207,5 @@ void insl(unsigned long __addr, void *dst, unsigned long count) | |||
200 | } | 207 | } |
201 | } | 208 | } |
202 | } | 209 | } |
210 | EXPORT_SYMBOL(insl); | ||
203 | 211 | ||
diff --git a/arch/sparc/lib/ksyms.c b/arch/sparc/lib/ksyms.c new file mode 100644 index 00000000000..704b1266838 --- /dev/null +++ b/arch/sparc/lib/ksyms.c | |||
@@ -0,0 +1,196 @@ | |||
1 | /* | ||
2 | * Export of symbols defined in assembler | ||
3 | */ | ||
4 | |||
5 | /* Tell string.h we don't want memcpy etc. as cpp defines */ | ||
6 | #define EXPORT_SYMTAB_STROPS | ||
7 | |||
8 | #include <linux/module.h> | ||
9 | #include <linux/string.h> | ||
10 | #include <linux/types.h> | ||
11 | |||
12 | #include <asm/checksum.h> | ||
13 | #include <asm/uaccess.h> | ||
14 | #include <asm/ftrace.h> | ||
15 | |||
16 | /* string functions */ | ||
17 | EXPORT_SYMBOL(strlen); | ||
18 | EXPORT_SYMBOL(__strlen_user); | ||
19 | EXPORT_SYMBOL(__strnlen_user); | ||
20 | EXPORT_SYMBOL(strncmp); | ||
21 | |||
22 | /* mem* functions */ | ||
23 | extern void *__memscan_zero(void *, size_t); | ||
24 | extern void *__memscan_generic(void *, int, size_t); | ||
25 | extern void *__bzero(void *, size_t); | ||
26 | |||
27 | EXPORT_SYMBOL(memscan); | ||
28 | EXPORT_SYMBOL(__memscan_zero); | ||
29 | EXPORT_SYMBOL(__memscan_generic); | ||
30 | EXPORT_SYMBOL(memcmp); | ||
31 | EXPORT_SYMBOL(memcpy); | ||
32 | EXPORT_SYMBOL(memset); | ||
33 | EXPORT_SYMBOL(__memset); | ||
34 | EXPORT_SYMBOL(memmove); | ||
35 | EXPORT_SYMBOL(__bzero); | ||
36 | |||
37 | /* Moving data to/from/in userspace. */ | ||
38 | EXPORT_SYMBOL(__strncpy_from_user); | ||
39 | |||
40 | /* Networking helper routines. */ | ||
41 | EXPORT_SYMBOL(csum_partial); | ||
42 | |||
43 | #ifdef CONFIG_MCOUNT | ||
44 | EXPORT_SYMBOL(_mcount); | ||
45 | #endif | ||
46 | |||
47 | /* | ||
48 | * sparc | ||
49 | */ | ||
50 | #ifdef CONFIG_SPARC32 | ||
51 | extern int __ashrdi3(int, int); | ||
52 | extern int __ashldi3(int, int); | ||
53 | extern int __lshrdi3(int, int); | ||
54 | extern int __muldi3(int, int); | ||
55 | extern int __divdi3(int, int); | ||
56 | |||
57 | extern void (*__copy_1page)(void *, const void *); | ||
58 | extern void (*bzero_1page)(void *); | ||
59 | |||
60 | extern int __strncmp(const char *, const char *, __kernel_size_t); | ||
61 | |||
62 | extern void ___rw_read_enter(void); | ||
63 | extern void ___rw_read_try(void); | ||
64 | extern void ___rw_read_exit(void); | ||
65 | extern void ___rw_write_enter(void); | ||
66 | extern void ___atomic24_add(void); | ||
67 | extern void ___atomic24_sub(void); | ||
68 | |||
69 | /* Alias functions whose names begin with "." and export the aliases. | ||
70 | * The module references will be fixed up by module_frob_arch_sections. | ||
71 | */ | ||
72 | extern int _Div(int, int); | ||
73 | extern int _Mul(int, int); | ||
74 | extern int _Rem(int, int); | ||
75 | extern unsigned _Udiv(unsigned, unsigned); | ||
76 | extern unsigned _Umul(unsigned, unsigned); | ||
77 | extern unsigned _Urem(unsigned, unsigned); | ||
78 | |||
79 | /* Networking helper routines. */ | ||
80 | EXPORT_SYMBOL(__csum_partial_copy_sparc_generic); | ||
81 | |||
82 | /* Special internal versions of library functions. */ | ||
83 | EXPORT_SYMBOL(__copy_1page); | ||
84 | EXPORT_SYMBOL(__memcpy); | ||
85 | EXPORT_SYMBOL(__memmove); | ||
86 | EXPORT_SYMBOL(bzero_1page); | ||
87 | |||
88 | /* string functions */ | ||
89 | EXPORT_SYMBOL(__strncmp); | ||
90 | |||
91 | /* Moving data to/from/in userspace. */ | ||
92 | EXPORT_SYMBOL(__copy_user); | ||
93 | |||
94 | /* Used by asm/spinlock.h */ | ||
95 | #ifdef CONFIG_SMP | ||
96 | EXPORT_SYMBOL(___rw_read_enter); | ||
97 | EXPORT_SYMBOL(___rw_read_try); | ||
98 | EXPORT_SYMBOL(___rw_read_exit); | ||
99 | EXPORT_SYMBOL(___rw_write_enter); | ||
100 | #endif | ||
101 | |||
102 | /* Atomic operations. */ | ||
103 | EXPORT_SYMBOL(___atomic24_add); | ||
104 | EXPORT_SYMBOL(___atomic24_sub); | ||
105 | |||
106 | EXPORT_SYMBOL(__ashrdi3); | ||
107 | EXPORT_SYMBOL(__ashldi3); | ||
108 | EXPORT_SYMBOL(__lshrdi3); | ||
109 | EXPORT_SYMBOL(__muldi3); | ||
110 | EXPORT_SYMBOL(__divdi3); | ||
111 | |||
112 | EXPORT_SYMBOL(_Rem); | ||
113 | EXPORT_SYMBOL(_Urem); | ||
114 | EXPORT_SYMBOL(_Mul); | ||
115 | EXPORT_SYMBOL(_Umul); | ||
116 | EXPORT_SYMBOL(_Div); | ||
117 | EXPORT_SYMBOL(_Udiv); | ||
118 | #endif | ||
119 | |||
120 | /* | ||
121 | * sparc64 | ||
122 | */ | ||
123 | #ifdef CONFIG_SPARC64 | ||
124 | /* Networking helper routines. */ | ||
125 | EXPORT_SYMBOL(csum_partial_copy_nocheck); | ||
126 | EXPORT_SYMBOL(__csum_partial_copy_from_user); | ||
127 | EXPORT_SYMBOL(__csum_partial_copy_to_user); | ||
128 | EXPORT_SYMBOL(ip_fast_csum); | ||
129 | |||
130 | /* Moving data to/from/in userspace. */ | ||
131 | EXPORT_SYMBOL(___copy_to_user); | ||
132 | EXPORT_SYMBOL(___copy_from_user); | ||
133 | EXPORT_SYMBOL(___copy_in_user); | ||
134 | EXPORT_SYMBOL(__clear_user); | ||
135 | |||
136 | /* RW semaphores */ | ||
137 | EXPORT_SYMBOL(__down_read); | ||
138 | EXPORT_SYMBOL(__down_read_trylock); | ||
139 | EXPORT_SYMBOL(__down_write); | ||
140 | EXPORT_SYMBOL(__down_write_trylock); | ||
141 | EXPORT_SYMBOL(__up_read); | ||
142 | EXPORT_SYMBOL(__up_write); | ||
143 | EXPORT_SYMBOL(__downgrade_write); | ||
144 | |||
145 | /* Atomic counter implementation. */ | ||
146 | EXPORT_SYMBOL(atomic_add); | ||
147 | EXPORT_SYMBOL(atomic_add_ret); | ||
148 | EXPORT_SYMBOL(atomic_sub); | ||
149 | EXPORT_SYMBOL(atomic_sub_ret); | ||
150 | EXPORT_SYMBOL(atomic64_add); | ||
151 | EXPORT_SYMBOL(atomic64_add_ret); | ||
152 | EXPORT_SYMBOL(atomic64_sub); | ||
153 | EXPORT_SYMBOL(atomic64_sub_ret); | ||
154 | |||
155 | /* Atomic bit operations. */ | ||
156 | EXPORT_SYMBOL(test_and_set_bit); | ||
157 | EXPORT_SYMBOL(test_and_clear_bit); | ||
158 | EXPORT_SYMBOL(test_and_change_bit); | ||
159 | EXPORT_SYMBOL(set_bit); | ||
160 | EXPORT_SYMBOL(clear_bit); | ||
161 | EXPORT_SYMBOL(change_bit); | ||
162 | |||
163 | /* Special internal versions of library functions. */ | ||
164 | EXPORT_SYMBOL(_clear_page); | ||
165 | EXPORT_SYMBOL(clear_user_page); | ||
166 | EXPORT_SYMBOL(copy_user_page); | ||
167 | |||
168 | /* RAID code needs this */ | ||
169 | void VISenter(void); | ||
170 | EXPORT_SYMBOL(VISenter); | ||
171 | |||
172 | extern void xor_vis_2(unsigned long, unsigned long *, unsigned long *); | ||
173 | extern void xor_vis_3(unsigned long, unsigned long *, unsigned long *, | ||
174 | unsigned long *); | ||
175 | extern void xor_vis_4(unsigned long, unsigned long *, unsigned long *, | ||
176 | unsigned long *, unsigned long *); | ||
177 | extern void xor_vis_5(unsigned long, unsigned long *, unsigned long *, | ||
178 | unsigned long *, unsigned long *, unsigned long *); | ||
179 | EXPORT_SYMBOL(xor_vis_2); | ||
180 | EXPORT_SYMBOL(xor_vis_3); | ||
181 | EXPORT_SYMBOL(xor_vis_4); | ||
182 | EXPORT_SYMBOL(xor_vis_5); | ||
183 | |||
184 | extern void xor_niagara_2(unsigned long, unsigned long *, unsigned long *); | ||
185 | extern void xor_niagara_3(unsigned long, unsigned long *, unsigned long *, | ||
186 | unsigned long *); | ||
187 | extern void xor_niagara_4(unsigned long, unsigned long *, unsigned long *, | ||
188 | unsigned long *, unsigned long *); | ||
189 | extern void xor_niagara_5(unsigned long, unsigned long *, unsigned long *, | ||
190 | unsigned long *, unsigned long *, unsigned long *); | ||
191 | |||
192 | EXPORT_SYMBOL(xor_niagara_2); | ||
193 | EXPORT_SYMBOL(xor_niagara_3); | ||
194 | EXPORT_SYMBOL(xor_niagara_4); | ||
195 | EXPORT_SYMBOL(xor_niagara_5); | ||
196 | #endif | ||
diff --git a/arch/sparc/lib/user_fixup.c b/arch/sparc/lib/user_fixup.c index 05a361b0a1a..ac96ae23670 100644 --- a/arch/sparc/lib/user_fixup.c +++ b/arch/sparc/lib/user_fixup.c | |||
@@ -7,6 +7,8 @@ | |||
7 | #include <linux/kernel.h> | 7 | #include <linux/kernel.h> |
8 | #include <linux/string.h> | 8 | #include <linux/string.h> |
9 | #include <linux/errno.h> | 9 | #include <linux/errno.h> |
10 | #include <linux/module.h> | ||
11 | |||
10 | #include <asm/uaccess.h> | 12 | #include <asm/uaccess.h> |
11 | 13 | ||
12 | /* Calculating the exact fault address when using | 14 | /* 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 | 42 | ||
41 | return size; | 43 | return size; |
42 | } | 44 | } |
45 | EXPORT_SYMBOL(copy_from_user_fixup); | ||
43 | 46 | ||
44 | unsigned long copy_to_user_fixup(void __user *to, const void *from, unsigned long size) | 47 | unsigned long copy_to_user_fixup(void __user *to, const void *from, unsigned long size) |
45 | { | 48 | { |
@@ -47,6 +50,7 @@ unsigned long copy_to_user_fixup(void __user *to, const void *from, unsigned lon | |||
47 | 50 | ||
48 | return compute_size((unsigned long) to, size, &offset); | 51 | return compute_size((unsigned long) to, size, &offset); |
49 | } | 52 | } |
53 | EXPORT_SYMBOL(copy_to_user_fixup); | ||
50 | 54 | ||
51 | unsigned long copy_in_user_fixup(void __user *to, void __user *from, unsigned long size) | 55 | unsigned long copy_in_user_fixup(void __user *to, void __user *from, unsigned long size) |
52 | { | 56 | { |
@@ -64,3 +68,4 @@ unsigned long copy_in_user_fixup(void __user *to, void __user *from, unsigned lo | |||
64 | 68 | ||
65 | return size; | 69 | return size; |
66 | } | 70 | } |
71 | EXPORT_SYMBOL(copy_in_user_fixup); | ||
diff --git a/arch/sparc/mm/fault_32.c b/arch/sparc/mm/fault_32.c index a507e117466..12e447fc854 100644 --- a/arch/sparc/mm/fault_32.c +++ b/arch/sparc/mm/fault_32.c | |||
@@ -283,7 +283,8 @@ bad_area_nosemaphore: | |||
283 | /* Is this in ex_table? */ | 283 | /* Is this in ex_table? */ |
284 | no_context: | 284 | no_context: |
285 | g2 = regs->u_regs[UREG_G2]; | 285 | g2 = regs->u_regs[UREG_G2]; |
286 | if (!from_user && (fixup = search_extables_range(regs->pc, &g2))) { | 286 | if (!from_user) { |
287 | fixup = search_extables_range(regs->pc, &g2); | ||
287 | if (fixup > 10) { /* Values below are reserved for other things */ | 288 | if (fixup > 10) { /* Values below are reserved for other things */ |
288 | extern const unsigned __memset_start[]; | 289 | extern const unsigned __memset_start[]; |
289 | extern const unsigned __memset_end[]; | 290 | extern const unsigned __memset_end[]; |
diff --git a/arch/sparc/mm/generic_32.c b/arch/sparc/mm/generic_32.c index a289261da9f..5edcac184ea 100644 --- a/arch/sparc/mm/generic_32.c +++ b/arch/sparc/mm/generic_32.c | |||
@@ -95,3 +95,4 @@ int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from, | |||
95 | flush_tlb_range(vma, beg, end); | 95 | flush_tlb_range(vma, beg, end); |
96 | return error; | 96 | return error; |
97 | } | 97 | } |
98 | EXPORT_SYMBOL(io_remap_pfn_range); | ||
diff --git a/arch/sparc/mm/generic_64.c b/arch/sparc/mm/generic_64.c index f362c203701..04f2bf4cd57 100644 --- a/arch/sparc/mm/generic_64.c +++ b/arch/sparc/mm/generic_64.c | |||
@@ -161,3 +161,4 @@ int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from, | |||
161 | flush_tlb_range(vma, beg, end); | 161 | flush_tlb_range(vma, beg, end); |
162 | return error; | 162 | return error; |
163 | } | 163 | } |
164 | EXPORT_SYMBOL(io_remap_pfn_range); | ||
diff --git a/arch/sparc/mm/highmem.c b/arch/sparc/mm/highmem.c index 01fc6c25429..752d0c9fb54 100644 --- a/arch/sparc/mm/highmem.c +++ b/arch/sparc/mm/highmem.c | |||
@@ -62,6 +62,7 @@ void *kmap_atomic(struct page *page, enum km_type type) | |||
62 | 62 | ||
63 | return (void*) vaddr; | 63 | return (void*) vaddr; |
64 | } | 64 | } |
65 | EXPORT_SYMBOL(kmap_atomic); | ||
65 | 66 | ||
66 | void kunmap_atomic(void *kvaddr, enum km_type type) | 67 | void kunmap_atomic(void *kvaddr, enum km_type type) |
67 | { | 68 | { |
@@ -98,6 +99,7 @@ void kunmap_atomic(void *kvaddr, enum km_type type) | |||
98 | 99 | ||
99 | pagefault_enable(); | 100 | pagefault_enable(); |
100 | } | 101 | } |
102 | EXPORT_SYMBOL(kunmap_atomic); | ||
101 | 103 | ||
102 | /* We may be fed a pagetable here by ptep_to_xxx and others. */ | 104 | /* We may be fed a pagetable here by ptep_to_xxx and others. */ |
103 | struct page *kmap_atomic_to_page(void *ptr) | 105 | struct page *kmap_atomic_to_page(void *ptr) |
diff --git a/arch/sparc/mm/init_32.c b/arch/sparc/mm/init_32.c index fec926021f4..cbb282dab5a 100644 --- a/arch/sparc/mm/init_32.c +++ b/arch/sparc/mm/init_32.c | |||
@@ -38,11 +38,16 @@ | |||
38 | DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); | 38 | DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); |
39 | 39 | ||
40 | unsigned long *sparc_valid_addr_bitmap; | 40 | unsigned long *sparc_valid_addr_bitmap; |
41 | EXPORT_SYMBOL(sparc_valid_addr_bitmap); | ||
41 | 42 | ||
42 | unsigned long phys_base; | 43 | unsigned long phys_base; |
44 | EXPORT_SYMBOL(phys_base); | ||
45 | |||
43 | unsigned long pfn_base; | 46 | unsigned long pfn_base; |
47 | EXPORT_SYMBOL(pfn_base); | ||
44 | 48 | ||
45 | unsigned long page_kernel; | 49 | unsigned long page_kernel; |
50 | EXPORT_SYMBOL(page_kernel); | ||
46 | 51 | ||
47 | struct sparc_phys_banks sp_banks[SPARC_PHYS_BANKS+1]; | 52 | struct sparc_phys_banks sp_banks[SPARC_PHYS_BANKS+1]; |
48 | unsigned long sparc_unmapped_base; | 53 | unsigned long sparc_unmapped_base; |
@@ -522,3 +527,4 @@ void sparc_flush_page_to_ram(struct page *page) | |||
522 | if (vaddr) | 527 | if (vaddr) |
523 | __flush_page_to_ram(vaddr); | 528 | __flush_page_to_ram(vaddr); |
524 | } | 529 | } |
530 | EXPORT_SYMBOL(sparc_flush_page_to_ram); | ||
diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c index 6ea73da2931..00373ce2d8f 100644 --- a/arch/sparc/mm/init_64.c +++ b/arch/sparc/mm/init_64.c | |||
@@ -146,6 +146,7 @@ static void __init read_obp_memory(const char *property, | |||
146 | } | 146 | } |
147 | 147 | ||
148 | unsigned long *sparc64_valid_addr_bitmap __read_mostly; | 148 | unsigned long *sparc64_valid_addr_bitmap __read_mostly; |
149 | EXPORT_SYMBOL(sparc64_valid_addr_bitmap); | ||
149 | 150 | ||
150 | /* Kernel physical address base and size in bytes. */ | 151 | /* Kernel physical address base and size in bytes. */ |
151 | unsigned long kern_base __read_mostly; | 152 | unsigned long kern_base __read_mostly; |
@@ -258,21 +259,16 @@ static inline void tsb_insert(struct tsb *ent, unsigned long tag, unsigned long | |||
258 | unsigned long _PAGE_ALL_SZ_BITS __read_mostly; | 259 | unsigned long _PAGE_ALL_SZ_BITS __read_mostly; |
259 | unsigned long _PAGE_SZBITS __read_mostly; | 260 | unsigned long _PAGE_SZBITS __read_mostly; |
260 | 261 | ||
261 | void update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t pte) | 262 | static void flush_dcache(unsigned long pfn) |
262 | { | 263 | { |
263 | struct mm_struct *mm; | 264 | struct page *page; |
264 | struct tsb *tsb; | ||
265 | unsigned long tag, flags; | ||
266 | unsigned long tsb_index, tsb_hash_shift; | ||
267 | 265 | ||
268 | if (tlb_type != hypervisor) { | 266 | page = pfn_to_page(pfn); |
269 | unsigned long pfn = pte_pfn(pte); | 267 | if (page && page_mapping(page)) { |
270 | unsigned long pg_flags; | 268 | unsigned long pg_flags; |
271 | struct page *page; | ||
272 | 269 | ||
273 | if (pfn_valid(pfn) && | 270 | pg_flags = page->flags; |
274 | (page = pfn_to_page(pfn), page_mapping(page)) && | 271 | if (pg_flags & (1UL << PG_dcache_dirty)) { |
275 | ((pg_flags = page->flags) & (1UL << PG_dcache_dirty))) { | ||
276 | int cpu = ((pg_flags >> PG_dcache_cpu_shift) & | 272 | int cpu = ((pg_flags >> PG_dcache_cpu_shift) & |
277 | PG_dcache_cpu_mask); | 273 | PG_dcache_cpu_mask); |
278 | int this_cpu = get_cpu(); | 274 | int this_cpu = get_cpu(); |
@@ -290,6 +286,21 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t p | |||
290 | put_cpu(); | 286 | put_cpu(); |
291 | } | 287 | } |
292 | } | 288 | } |
289 | } | ||
290 | |||
291 | void update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t pte) | ||
292 | { | ||
293 | struct mm_struct *mm; | ||
294 | struct tsb *tsb; | ||
295 | unsigned long tag, flags; | ||
296 | unsigned long tsb_index, tsb_hash_shift; | ||
297 | |||
298 | if (tlb_type != hypervisor) { | ||
299 | unsigned long pfn = pte_pfn(pte); | ||
300 | |||
301 | if (pfn_valid(pfn)) | ||
302 | flush_dcache(pfn); | ||
303 | } | ||
293 | 304 | ||
294 | mm = vma->vm_mm; | 305 | mm = vma->vm_mm; |
295 | 306 | ||
@@ -359,6 +370,7 @@ void flush_dcache_page(struct page *page) | |||
359 | out: | 370 | out: |
360 | put_cpu(); | 371 | put_cpu(); |
361 | } | 372 | } |
373 | EXPORT_SYMBOL(flush_dcache_page); | ||
362 | 374 | ||
363 | void __kprobes flush_icache_range(unsigned long start, unsigned long end) | 375 | void __kprobes flush_icache_range(unsigned long start, unsigned long end) |
364 | { | 376 | { |
@@ -386,6 +398,7 @@ void __kprobes flush_icache_range(unsigned long start, unsigned long end) | |||
386 | } | 398 | } |
387 | } | 399 | } |
388 | } | 400 | } |
401 | EXPORT_SYMBOL(flush_icache_range); | ||
389 | 402 | ||
390 | void mmu_info(struct seq_file *m) | 403 | void mmu_info(struct seq_file *m) |
391 | { | 404 | { |
@@ -589,6 +602,7 @@ void __flush_dcache_range(unsigned long start, unsigned long end) | |||
589 | "i" (ASI_DCACHE_INVALIDATE)); | 602 | "i" (ASI_DCACHE_INVALIDATE)); |
590 | } | 603 | } |
591 | } | 604 | } |
605 | EXPORT_SYMBOL(__flush_dcache_range); | ||
592 | 606 | ||
593 | /* get_new_mmu_context() uses "cache + 1". */ | 607 | /* get_new_mmu_context() uses "cache + 1". */ |
594 | DEFINE_SPINLOCK(ctx_alloc_lock); | 608 | DEFINE_SPINLOCK(ctx_alloc_lock); |
@@ -769,8 +783,8 @@ static int find_node(unsigned long addr) | |||
769 | return -1; | 783 | return -1; |
770 | } | 784 | } |
771 | 785 | ||
772 | static unsigned long nid_range(unsigned long start, unsigned long end, | 786 | static unsigned long long nid_range(unsigned long long start, |
773 | int *nid) | 787 | unsigned long long end, int *nid) |
774 | { | 788 | { |
775 | *nid = find_node(start); | 789 | *nid = find_node(start); |
776 | start += PAGE_SIZE; | 790 | start += PAGE_SIZE; |
@@ -788,8 +802,8 @@ static unsigned long nid_range(unsigned long start, unsigned long end, | |||
788 | return start; | 802 | return start; |
789 | } | 803 | } |
790 | #else | 804 | #else |
791 | static unsigned long nid_range(unsigned long start, unsigned long end, | 805 | static unsigned long long nid_range(unsigned long long start, |
792 | int *nid) | 806 | unsigned long long end, int *nid) |
793 | { | 807 | { |
794 | *nid = 0; | 808 | *nid = 0; |
795 | return end; | 809 | return end; |
@@ -1016,8 +1030,8 @@ static int __init grab_mlgroups(struct mdesc_handle *md) | |||
1016 | val = mdesc_get_property(md, node, "address-mask", NULL); | 1030 | val = mdesc_get_property(md, node, "address-mask", NULL); |
1017 | m->mask = *val; | 1031 | m->mask = *val; |
1018 | 1032 | ||
1019 | numadbg("MLGROUP[%d]: node[%lx] latency[%lx] " | 1033 | numadbg("MLGROUP[%d]: node[%llx] latency[%llx] " |
1020 | "match[%lx] mask[%lx]\n", | 1034 | "match[%llx] mask[%llx]\n", |
1021 | count - 1, m->node, m->latency, m->match, m->mask); | 1035 | count - 1, m->node, m->latency, m->match, m->mask); |
1022 | } | 1036 | } |
1023 | 1037 | ||
@@ -1056,7 +1070,7 @@ static int __init grab_mblocks(struct mdesc_handle *md) | |||
1056 | "address-congruence-offset", NULL); | 1070 | "address-congruence-offset", NULL); |
1057 | m->offset = *val; | 1071 | m->offset = *val; |
1058 | 1072 | ||
1059 | numadbg("MBLOCK[%d]: base[%lx] size[%lx] offset[%lx]\n", | 1073 | numadbg("MBLOCK[%d]: base[%llx] size[%llx] offset[%llx]\n", |
1060 | count - 1, m->base, m->size, m->offset); | 1074 | count - 1, m->base, m->size, m->offset); |
1061 | } | 1075 | } |
1062 | 1076 | ||
@@ -1127,7 +1141,7 @@ static int __init numa_attach_mlgroup(struct mdesc_handle *md, u64 grp, | |||
1127 | n->mask = candidate->mask; | 1141 | n->mask = candidate->mask; |
1128 | n->val = candidate->match; | 1142 | n->val = candidate->match; |
1129 | 1143 | ||
1130 | numadbg("NUMA NODE[%d]: mask[%lx] val[%lx] (latency[%lx])\n", | 1144 | numadbg("NUMA NODE[%d]: mask[%lx] val[%lx] (latency[%llx])\n", |
1131 | index, n->mask, n->val, candidate->latency); | 1145 | index, n->mask, n->val, candidate->latency); |
1132 | 1146 | ||
1133 | return 0; | 1147 | return 0; |
diff --git a/arch/sparc/prom/init_32.c b/arch/sparc/prom/init_32.c index 873217c6d82..6193c33ed4d 100644 --- a/arch/sparc/prom/init_32.c +++ b/arch/sparc/prom/init_32.c | |||
@@ -8,16 +8,20 @@ | |||
8 | 8 | ||
9 | #include <linux/kernel.h> | 9 | #include <linux/kernel.h> |
10 | #include <linux/init.h> | 10 | #include <linux/init.h> |
11 | #include <linux/module.h> | ||
11 | 12 | ||
12 | #include <asm/openprom.h> | 13 | #include <asm/openprom.h> |
13 | #include <asm/oplib.h> | 14 | #include <asm/oplib.h> |
14 | 15 | ||
15 | struct linux_romvec *romvec; | 16 | struct linux_romvec *romvec; |
17 | EXPORT_SYMBOL(romvec); | ||
18 | |||
16 | enum prom_major_version prom_vers; | 19 | enum prom_major_version prom_vers; |
17 | unsigned int prom_rev, prom_prev; | 20 | unsigned int prom_rev, prom_prev; |
18 | 21 | ||
19 | /* The root node of the prom device tree. */ | 22 | /* The root node of the prom device tree. */ |
20 | int prom_root_node; | 23 | int prom_root_node; |
24 | EXPORT_SYMBOL(prom_root_node); | ||
21 | 25 | ||
22 | /* Pointer to the device tree operations structure. */ | 26 | /* Pointer to the device tree operations structure. */ |
23 | struct linux_nodeops *prom_nodeops; | 27 | struct linux_nodeops *prom_nodeops; |
diff --git a/arch/sparc/prom/misc_32.c b/arch/sparc/prom/misc_32.c index cf6c3f6d36c..4d61c540bb3 100644 --- a/arch/sparc/prom/misc_32.c +++ b/arch/sparc/prom/misc_32.c | |||
@@ -8,6 +8,8 @@ | |||
8 | #include <linux/types.h> | 8 | #include <linux/types.h> |
9 | #include <linux/kernel.h> | 9 | #include <linux/kernel.h> |
10 | #include <linux/sched.h> | 10 | #include <linux/sched.h> |
11 | #include <linux/module.h> | ||
12 | |||
11 | #include <asm/openprom.h> | 13 | #include <asm/openprom.h> |
12 | #include <asm/oplib.h> | 14 | #include <asm/oplib.h> |
13 | #include <asm/auxio.h> | 15 | #include <asm/auxio.h> |
@@ -44,6 +46,7 @@ prom_feval(char *fstring) | |||
44 | restore_current(); | 46 | restore_current(); |
45 | spin_unlock_irqrestore(&prom_lock, flags); | 47 | spin_unlock_irqrestore(&prom_lock, flags); |
46 | } | 48 | } |
49 | EXPORT_SYMBOL(prom_feval); | ||
47 | 50 | ||
48 | /* Drop into the prom, with the chance to continue with the 'go' | 51 | /* Drop into the prom, with the chance to continue with the 'go' |
49 | * prom command. | 52 | * prom command. |
diff --git a/arch/sparc/prom/misc_64.c b/arch/sparc/prom/misc_64.c index 9b0c0760901..eedffb4fec2 100644 --- a/arch/sparc/prom/misc_64.c +++ b/arch/sparc/prom/misc_64.c | |||
@@ -11,6 +11,8 @@ | |||
11 | #include <linux/sched.h> | 11 | #include <linux/sched.h> |
12 | #include <linux/interrupt.h> | 12 | #include <linux/interrupt.h> |
13 | #include <linux/delay.h> | 13 | #include <linux/delay.h> |
14 | #include <linux/module.h> | ||
15 | |||
14 | #include <asm/openprom.h> | 16 | #include <asm/openprom.h> |
15 | #include <asm/oplib.h> | 17 | #include <asm/oplib.h> |
16 | #include <asm/system.h> | 18 | #include <asm/system.h> |
@@ -54,6 +56,7 @@ void prom_feval(const char *fstring) | |||
54 | p1275_cmd("interpret", P1275_ARG(0, P1275_ARG_IN_STRING) | | 56 | p1275_cmd("interpret", P1275_ARG(0, P1275_ARG_IN_STRING) | |
55 | P1275_INOUT(1, 1), fstring); | 57 | P1275_INOUT(1, 1), fstring); |
56 | } | 58 | } |
59 | EXPORT_SYMBOL(prom_feval); | ||
57 | 60 | ||
58 | #ifdef CONFIG_SMP | 61 | #ifdef CONFIG_SMP |
59 | extern void smp_capture(void); | 62 | extern void smp_capture(void); |
diff --git a/arch/sparc/prom/ranges.c b/arch/sparc/prom/ranges.c index 64579a37641..cd5790853ff 100644 --- a/arch/sparc/prom/ranges.c +++ b/arch/sparc/prom/ranges.c | |||
@@ -6,6 +6,8 @@ | |||
6 | */ | 6 | */ |
7 | 7 | ||
8 | #include <linux/init.h> | 8 | #include <linux/init.h> |
9 | #include <linux/module.h> | ||
10 | |||
9 | #include <asm/openprom.h> | 11 | #include <asm/openprom.h> |
10 | #include <asm/oplib.h> | 12 | #include <asm/oplib.h> |
11 | #include <asm/types.h> | 13 | #include <asm/types.h> |
@@ -62,6 +64,7 @@ prom_apply_obio_ranges(struct linux_prom_registers *regs, int nregs) | |||
62 | if(num_obio_ranges) | 64 | if(num_obio_ranges) |
63 | prom_adjust_regs(regs, nregs, promlib_obio_ranges, num_obio_ranges); | 65 | prom_adjust_regs(regs, nregs, promlib_obio_ranges, num_obio_ranges); |
64 | } | 66 | } |
67 | EXPORT_SYMBOL(prom_apply_obio_ranges); | ||
65 | 68 | ||
66 | void __init prom_ranges_init(void) | 69 | void __init prom_ranges_init(void) |
67 | { | 70 | { |
diff --git a/arch/sparc/prom/tree_32.c b/arch/sparc/prom/tree_32.c index 6d818735733..646d244b1fd 100644 --- a/arch/sparc/prom/tree_32.c +++ b/arch/sparc/prom/tree_32.c | |||
@@ -5,13 +5,12 @@ | |||
5 | * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) | 5 | * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) |
6 | */ | 6 | */ |
7 | 7 | ||
8 | #define PROMLIB_INTERNAL | ||
9 | |||
10 | #include <linux/string.h> | 8 | #include <linux/string.h> |
11 | #include <linux/types.h> | 9 | #include <linux/types.h> |
12 | #include <linux/kernel.h> | 10 | #include <linux/kernel.h> |
13 | #include <linux/sched.h> | 11 | #include <linux/sched.h> |
14 | #include <linux/ctype.h> | 12 | #include <linux/ctype.h> |
13 | #include <linux/module.h> | ||
15 | 14 | ||
16 | #include <asm/openprom.h> | 15 | #include <asm/openprom.h> |
17 | #include <asm/oplib.h> | 16 | #include <asm/oplib.h> |
@@ -50,6 +49,7 @@ int prom_getchild(int node) | |||
50 | 49 | ||
51 | return cnode; | 50 | return cnode; |
52 | } | 51 | } |
52 | EXPORT_SYMBOL(prom_getchild); | ||
53 | 53 | ||
54 | /* Internal version of prom_getsibling that does not alter return values. */ | 54 | /* Internal version of prom_getsibling that does not alter return values. */ |
55 | int __prom_getsibling(int node) | 55 | int __prom_getsibling(int node) |
@@ -81,6 +81,7 @@ int prom_getsibling(int node) | |||
81 | 81 | ||
82 | return sibnode; | 82 | return sibnode; |
83 | } | 83 | } |
84 | EXPORT_SYMBOL(prom_getsibling); | ||
84 | 85 | ||
85 | /* Return the length in bytes of property 'prop' at node 'node'. | 86 | /* Return the length in bytes of property 'prop' at node 'node'. |
86 | * Return -1 on error. | 87 | * Return -1 on error. |
@@ -99,6 +100,7 @@ int prom_getproplen(int node, const char *prop) | |||
99 | spin_unlock_irqrestore(&prom_lock, flags); | 100 | spin_unlock_irqrestore(&prom_lock, flags); |
100 | return ret; | 101 | return ret; |
101 | } | 102 | } |
103 | EXPORT_SYMBOL(prom_getproplen); | ||
102 | 104 | ||
103 | /* Acquire a property 'prop' at node 'node' and place it in | 105 | /* Acquire a property 'prop' at node 'node' and place it in |
104 | * 'buffer' which has a size of 'bufsize'. If the acquisition | 106 | * '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 | spin_unlock_irqrestore(&prom_lock, flags); | 121 | spin_unlock_irqrestore(&prom_lock, flags); |
120 | return ret; | 122 | return ret; |
121 | } | 123 | } |
124 | EXPORT_SYMBOL(prom_getproperty); | ||
122 | 125 | ||
123 | /* Acquire an integer property and return its value. Returns -1 | 126 | /* Acquire an integer property and return its value. Returns -1 |
124 | * on failure. | 127 | * on failure. |
@@ -132,6 +135,7 @@ int prom_getint(int node, char *prop) | |||
132 | 135 | ||
133 | return -1; | 136 | return -1; |
134 | } | 137 | } |
138 | EXPORT_SYMBOL(prom_getint); | ||
135 | 139 | ||
136 | /* Acquire an integer property, upon error return the passed default | 140 | /* Acquire an integer property, upon error return the passed default |
137 | * integer. | 141 | * integer. |
@@ -145,6 +149,7 @@ int prom_getintdefault(int node, char *property, int deflt) | |||
145 | 149 | ||
146 | return retval; | 150 | return retval; |
147 | } | 151 | } |
152 | EXPORT_SYMBOL(prom_getintdefault); | ||
148 | 153 | ||
149 | /* Acquire a boolean property, 1=TRUE 0=FALSE. */ | 154 | /* Acquire a boolean property, 1=TRUE 0=FALSE. */ |
150 | int prom_getbool(int node, char *prop) | 155 | int prom_getbool(int node, char *prop) |
@@ -155,6 +160,7 @@ int prom_getbool(int node, char *prop) | |||
155 | if(retval == -1) return 0; | 160 | if(retval == -1) return 0; |
156 | return 1; | 161 | return 1; |
157 | } | 162 | } |
163 | EXPORT_SYMBOL(prom_getbool); | ||
158 | 164 | ||
159 | /* Acquire a property whose value is a string, returns a null | 165 | /* Acquire a property whose value is a string, returns a null |
160 | * string on error. The char pointer is the user supplied string | 166 | * 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 | user_buf[0] = 0; | 175 | user_buf[0] = 0; |
170 | return; | 176 | return; |
171 | } | 177 | } |
178 | EXPORT_SYMBOL(prom_getstring); | ||
172 | 179 | ||
173 | 180 | ||
174 | /* Does the device at node 'node' have name 'name'? | 181 | /* Does the device at node 'node' have name 'name'? |
@@ -204,6 +211,7 @@ int prom_searchsiblings(int node_start, char *nodename) | |||
204 | 211 | ||
205 | return 0; | 212 | return 0; |
206 | } | 213 | } |
214 | EXPORT_SYMBOL(prom_searchsiblings); | ||
207 | 215 | ||
208 | /* Interal version of nextprop that does not alter return values. */ | 216 | /* Interal version of nextprop that does not alter return values. */ |
209 | char * __prom_nextprop(int node, char * oprop) | 217 | char * __prom_nextprop(int node, char * oprop) |
@@ -228,6 +236,7 @@ char * prom_firstprop(int node, char *bufer) | |||
228 | 236 | ||
229 | return __prom_nextprop(node, ""); | 237 | return __prom_nextprop(node, ""); |
230 | } | 238 | } |
239 | EXPORT_SYMBOL(prom_firstprop); | ||
231 | 240 | ||
232 | /* Return the property type string after property type 'oprop' | 241 | /* Return the property type string after property type 'oprop' |
233 | * at node 'node' . Returns empty string if no more | 242 | * at node 'node' . Returns empty string if no more |
@@ -240,6 +249,7 @@ char * prom_nextprop(int node, char *oprop, char *buffer) | |||
240 | 249 | ||
241 | return __prom_nextprop(node, oprop); | 250 | return __prom_nextprop(node, oprop); |
242 | } | 251 | } |
252 | EXPORT_SYMBOL(prom_nextprop); | ||
243 | 253 | ||
244 | int prom_finddevice(char *name) | 254 | int prom_finddevice(char *name) |
245 | { | 255 | { |
@@ -287,6 +297,7 @@ int prom_finddevice(char *name) | |||
287 | } | 297 | } |
288 | return node; | 298 | return node; |
289 | } | 299 | } |
300 | EXPORT_SYMBOL(prom_finddevice); | ||
290 | 301 | ||
291 | int prom_node_has_property(int node, char *prop) | 302 | int prom_node_has_property(int node, char *prop) |
292 | { | 303 | { |
@@ -299,6 +310,7 @@ int prom_node_has_property(int node, char *prop) | |||
299 | } while (*current_property); | 310 | } while (*current_property); |
300 | return 0; | 311 | return 0; |
301 | } | 312 | } |
313 | EXPORT_SYMBOL(prom_node_has_property); | ||
302 | 314 | ||
303 | /* Set property 'pname' at node 'node' to value 'value' which has a length | 315 | /* Set property 'pname' at node 'node' to value 'value' which has a length |
304 | * of 'size' bytes. Return the number of bytes the prom accepted. | 316 | * 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 | spin_unlock_irqrestore(&prom_lock, flags); | 328 | spin_unlock_irqrestore(&prom_lock, flags); |
317 | return ret; | 329 | return ret; |
318 | } | 330 | } |
331 | EXPORT_SYMBOL(prom_setprop); | ||
319 | 332 | ||
320 | int prom_inst2pkg(int inst) | 333 | int prom_inst2pkg(int inst) |
321 | { | 334 | { |
diff --git a/arch/sparc/prom/tree_64.c b/arch/sparc/prom/tree_64.c index 281aea44790..8ea73ddc61d 100644 --- a/arch/sparc/prom/tree_64.c +++ b/arch/sparc/prom/tree_64.c | |||
@@ -10,6 +10,7 @@ | |||
10 | #include <linux/types.h> | 10 | #include <linux/types.h> |
11 | #include <linux/kernel.h> | 11 | #include <linux/kernel.h> |
12 | #include <linux/sched.h> | 12 | #include <linux/sched.h> |
13 | #include <linux/module.h> | ||
13 | 14 | ||
14 | #include <asm/openprom.h> | 15 | #include <asm/openprom.h> |
15 | #include <asm/oplib.h> | 16 | #include <asm/oplib.h> |
@@ -32,6 +33,7 @@ inline int prom_getchild(int node) | |||
32 | if(cnode == -1) return 0; | 33 | if(cnode == -1) return 0; |
33 | return (int)cnode; | 34 | return (int)cnode; |
34 | } | 35 | } |
36 | EXPORT_SYMBOL(prom_getchild); | ||
35 | 37 | ||
36 | inline int prom_getparent(int node) | 38 | inline int prom_getparent(int node) |
37 | { | 39 | { |
@@ -63,6 +65,7 @@ inline int prom_getsibling(int node) | |||
63 | 65 | ||
64 | return sibnode; | 66 | return sibnode; |
65 | } | 67 | } |
68 | EXPORT_SYMBOL(prom_getsibling); | ||
66 | 69 | ||
67 | /* Return the length in bytes of property 'prop' at node 'node'. | 70 | /* Return the length in bytes of property 'prop' at node 'node'. |
68 | * Return -1 on error. | 71 | * Return -1 on error. |
@@ -75,6 +78,7 @@ inline int prom_getproplen(int node, const char *prop) | |||
75 | P1275_INOUT(2, 1), | 78 | P1275_INOUT(2, 1), |
76 | node, prop); | 79 | node, prop); |
77 | } | 80 | } |
81 | EXPORT_SYMBOL(prom_getproplen); | ||
78 | 82 | ||
79 | /* Acquire a property 'prop' at node 'node' and place it in | 83 | /* Acquire a property 'prop' at node 'node' and place it in |
80 | * 'buffer' which has a size of 'bufsize'. If the acquisition | 84 | * 'buffer' which has a size of 'bufsize'. If the acquisition |
@@ -97,6 +101,7 @@ inline int prom_getproperty(int node, const char *prop, | |||
97 | node, prop, buffer, P1275_SIZE(plen)); | 101 | node, prop, buffer, P1275_SIZE(plen)); |
98 | } | 102 | } |
99 | } | 103 | } |
104 | EXPORT_SYMBOL(prom_getproperty); | ||
100 | 105 | ||
101 | /* Acquire an integer property and return its value. Returns -1 | 106 | /* Acquire an integer property and return its value. Returns -1 |
102 | * on failure. | 107 | * on failure. |
@@ -110,6 +115,7 @@ inline int prom_getint(int node, const char *prop) | |||
110 | 115 | ||
111 | return -1; | 116 | return -1; |
112 | } | 117 | } |
118 | EXPORT_SYMBOL(prom_getint); | ||
113 | 119 | ||
114 | /* Acquire an integer property, upon error return the passed default | 120 | /* Acquire an integer property, upon error return the passed default |
115 | * integer. | 121 | * integer. |
@@ -124,6 +130,7 @@ int prom_getintdefault(int node, const char *property, int deflt) | |||
124 | 130 | ||
125 | return retval; | 131 | return retval; |
126 | } | 132 | } |
133 | EXPORT_SYMBOL(prom_getintdefault); | ||
127 | 134 | ||
128 | /* Acquire a boolean property, 1=TRUE 0=FALSE. */ | 135 | /* Acquire a boolean property, 1=TRUE 0=FALSE. */ |
129 | int prom_getbool(int node, const char *prop) | 136 | int prom_getbool(int node, const char *prop) |
@@ -134,6 +141,7 @@ int prom_getbool(int node, const char *prop) | |||
134 | if(retval == -1) return 0; | 141 | if(retval == -1) return 0; |
135 | return 1; | 142 | return 1; |
136 | } | 143 | } |
144 | EXPORT_SYMBOL(prom_getbool); | ||
137 | 145 | ||
138 | /* Acquire a property whose value is a string, returns a null | 146 | /* Acquire a property whose value is a string, returns a null |
139 | * string on error. The char pointer is the user supplied string | 147 | * 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 | user_buf[0] = 0; | 156 | user_buf[0] = 0; |
149 | return; | 157 | return; |
150 | } | 158 | } |
151 | 159 | EXPORT_SYMBOL(prom_getstring); | |
152 | 160 | ||
153 | /* Does the device at node 'node' have name 'name'? | 161 | /* Does the device at node 'node' have name 'name'? |
154 | * YES = 1 NO = 0 | 162 | * YES = 1 NO = 0 |
@@ -181,6 +189,7 @@ int prom_searchsiblings(int node_start, const char *nodename) | |||
181 | 189 | ||
182 | return 0; | 190 | return 0; |
183 | } | 191 | } |
192 | EXPORT_SYMBOL(prom_searchsiblings); | ||
184 | 193 | ||
185 | /* Return the first property type for node 'node'. | 194 | /* Return the first property type for node 'node'. |
186 | * buffer should be at least 32B in length | 195 | * buffer should be at least 32B in length |
@@ -194,6 +203,7 @@ inline char *prom_firstprop(int node, char *buffer) | |||
194 | node, (char *) 0x0, buffer); | 203 | node, (char *) 0x0, buffer); |
195 | return buffer; | 204 | return buffer; |
196 | } | 205 | } |
206 | EXPORT_SYMBOL(prom_firstprop); | ||
197 | 207 | ||
198 | /* Return the property type string after property type 'oprop' | 208 | /* Return the property type string after property type 'oprop' |
199 | * at node 'node' . Returns NULL string if no more | 209 | * 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 | node, oprop, buffer); | 227 | node, oprop, buffer); |
218 | return buffer; | 228 | return buffer; |
219 | } | 229 | } |
230 | EXPORT_SYMBOL(prom_nextprop); | ||
220 | 231 | ||
221 | int | 232 | int |
222 | prom_finddevice(const char *name) | 233 | prom_finddevice(const char *name) |
@@ -228,6 +239,7 @@ prom_finddevice(const char *name) | |||
228 | P1275_INOUT(1, 1), | 239 | P1275_INOUT(1, 1), |
229 | name); | 240 | name); |
230 | } | 241 | } |
242 | EXPORT_SYMBOL(prom_finddevice); | ||
231 | 243 | ||
232 | int prom_node_has_property(int node, const char *prop) | 244 | int prom_node_has_property(int node, const char *prop) |
233 | { | 245 | { |
@@ -241,7 +253,8 @@ int prom_node_has_property(int node, const char *prop) | |||
241 | } while (*buf); | 253 | } while (*buf); |
242 | return 0; | 254 | return 0; |
243 | } | 255 | } |
244 | 256 | EXPORT_SYMBOL(prom_node_has_property); | |
257 | |||
245 | /* Set property 'pname' at node 'node' to value 'value' which has a length | 258 | /* Set property 'pname' at node 'node' to value 'value' which has a length |
246 | * of 'size' bytes. Return the number of bytes the prom accepted. | 259 | * of 'size' bytes. Return the number of bytes the prom accepted. |
247 | */ | 260 | */ |
@@ -264,6 +277,7 @@ prom_setprop(int node, const char *pname, char *value, int size) | |||
264 | P1275_INOUT(4, 1), | 277 | P1275_INOUT(4, 1), |
265 | node, pname, value, P1275_SIZE(size)); | 278 | node, pname, value, P1275_SIZE(size)); |
266 | } | 279 | } |
280 | EXPORT_SYMBOL(prom_setprop); | ||
267 | 281 | ||
268 | inline int prom_inst2pkg(int inst) | 282 | inline int prom_inst2pkg(int inst) |
269 | { | 283 | { |