diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/configs/ps3_defconfig | 250 | ||||
-rw-r--r-- | arch/powerpc/include/asm/cputable.h | 4 | ||||
-rw-r--r-- | arch/powerpc/kernel/head_32.S | 6 | ||||
-rw-r--r-- | arch/powerpc/platforms/ps3/Kconfig | 7 | ||||
-rw-r--r-- | arch/s390/include/asm/mman.h | 5 | ||||
-rw-r--r-- | arch/s390/include/asm/processor.h | 5 | ||||
-rw-r--r-- | arch/s390/include/asm/topology.h | 2 | ||||
-rw-r--r-- | arch/s390/kernel/mcount.S | 6 | ||||
-rw-r--r-- | arch/s390/lib/div64.c | 2 | ||||
-rw-r--r-- | arch/s390/lib/uaccess_pt.c | 18 | ||||
-rw-r--r-- | arch/s390/mm/mmap.c | 48 | ||||
-rw-r--r-- | arch/s390/mm/pgtable.c | 2 | ||||
-rw-r--r-- | arch/x86/boot/video-vga.c | 22 | ||||
-rw-r--r-- | arch/x86/kernel/kprobes.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/mpparse.c | 261 |
15 files changed, 385 insertions, 255 deletions
diff --git a/arch/powerpc/configs/ps3_defconfig b/arch/powerpc/configs/ps3_defconfig index b6eee7c93cdd..ac14f5245d2a 100644 --- a/arch/powerpc/configs/ps3_defconfig +++ b/arch/powerpc/configs/ps3_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.27-rc3 | 3 | # Linux kernel version: 2.6.29-rc8 |
4 | # Wed Aug 20 08:16:53 2008 | 4 | # Fri Mar 13 09:28:45 2009 |
5 | # | 5 | # |
6 | CONFIG_PPC64=y | 6 | CONFIG_PPC64=y |
7 | 7 | ||
@@ -16,13 +16,14 @@ CONFIG_PPC_FPU=y | |||
16 | CONFIG_ALTIVEC=y | 16 | CONFIG_ALTIVEC=y |
17 | # CONFIG_VSX is not set | 17 | # CONFIG_VSX is not set |
18 | CONFIG_PPC_STD_MMU=y | 18 | CONFIG_PPC_STD_MMU=y |
19 | CONFIG_PPC_STD_MMU_64=y | ||
19 | CONFIG_PPC_MM_SLICES=y | 20 | CONFIG_PPC_MM_SLICES=y |
20 | CONFIG_VIRT_CPU_ACCOUNTING=y | 21 | CONFIG_VIRT_CPU_ACCOUNTING=y |
21 | CONFIG_SMP=y | 22 | CONFIG_SMP=y |
22 | CONFIG_NR_CPUS=2 | 23 | CONFIG_NR_CPUS=2 |
23 | CONFIG_64BIT=y | 24 | CONFIG_64BIT=y |
24 | CONFIG_WORD_SIZE=64 | 25 | CONFIG_WORD_SIZE=64 |
25 | CONFIG_PPC_MERGE=y | 26 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y |
26 | CONFIG_MMU=y | 27 | CONFIG_MMU=y |
27 | CONFIG_GENERIC_CMOS_UPDATE=y | 28 | CONFIG_GENERIC_CMOS_UPDATE=y |
28 | CONFIG_GENERIC_TIME=y | 29 | CONFIG_GENERIC_TIME=y |
@@ -46,7 +47,7 @@ CONFIG_PPC=y | |||
46 | CONFIG_EARLY_PRINTK=y | 47 | CONFIG_EARLY_PRINTK=y |
47 | CONFIG_COMPAT=y | 48 | CONFIG_COMPAT=y |
48 | CONFIG_SYSVIPC_COMPAT=y | 49 | CONFIG_SYSVIPC_COMPAT=y |
49 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | 50 | CONFIG_SCHED_OMIT_FRAME_POINTER=y |
50 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | 51 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y |
51 | CONFIG_PPC_OF=y | 52 | CONFIG_PPC_OF=y |
52 | CONFIG_OF=y | 53 | CONFIG_OF=y |
@@ -74,10 +75,19 @@ CONFIG_POSIX_MQUEUE=y | |||
74 | # CONFIG_BSD_PROCESS_ACCT is not set | 75 | # CONFIG_BSD_PROCESS_ACCT is not set |
75 | # CONFIG_TASKSTATS is not set | 76 | # CONFIG_TASKSTATS is not set |
76 | # CONFIG_AUDIT is not set | 77 | # CONFIG_AUDIT is not set |
78 | |||
79 | # | ||
80 | # RCU Subsystem | ||
81 | # | ||
82 | CONFIG_CLASSIC_RCU=y | ||
83 | # CONFIG_TREE_RCU is not set | ||
84 | # CONFIG_PREEMPT_RCU is not set | ||
85 | # CONFIG_TREE_RCU_TRACE is not set | ||
86 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
77 | # CONFIG_IKCONFIG is not set | 87 | # CONFIG_IKCONFIG is not set |
78 | CONFIG_LOG_BUF_SHIFT=17 | 88 | CONFIG_LOG_BUF_SHIFT=17 |
79 | # CONFIG_CGROUPS is not set | ||
80 | # CONFIG_GROUP_SCHED is not set | 89 | # CONFIG_GROUP_SCHED is not set |
90 | # CONFIG_CGROUPS is not set | ||
81 | CONFIG_SYSFS_DEPRECATED=y | 91 | CONFIG_SYSFS_DEPRECATED=y |
82 | CONFIG_SYSFS_DEPRECATED_V2=y | 92 | CONFIG_SYSFS_DEPRECATED_V2=y |
83 | # CONFIG_RELAY is not set | 93 | # CONFIG_RELAY is not set |
@@ -86,11 +96,13 @@ CONFIG_NAMESPACES=y | |||
86 | # CONFIG_IPC_NS is not set | 96 | # CONFIG_IPC_NS is not set |
87 | # CONFIG_USER_NS is not set | 97 | # CONFIG_USER_NS is not set |
88 | # CONFIG_PID_NS is not set | 98 | # CONFIG_PID_NS is not set |
99 | # CONFIG_NET_NS is not set | ||
89 | CONFIG_BLK_DEV_INITRD=y | 100 | CONFIG_BLK_DEV_INITRD=y |
90 | CONFIG_INITRAMFS_SOURCE="" | 101 | CONFIG_INITRAMFS_SOURCE="" |
91 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 102 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
92 | CONFIG_SYSCTL=y | 103 | CONFIG_SYSCTL=y |
93 | # CONFIG_EMBEDDED is not set | 104 | CONFIG_ANON_INODES=y |
105 | CONFIG_EMBEDDED=y | ||
94 | CONFIG_SYSCTL_SYSCALL=y | 106 | CONFIG_SYSCTL_SYSCALL=y |
95 | CONFIG_KALLSYMS=y | 107 | CONFIG_KALLSYMS=y |
96 | CONFIG_KALLSYMS_ALL=y | 108 | CONFIG_KALLSYMS_ALL=y |
@@ -99,37 +111,36 @@ CONFIG_HOTPLUG=y | |||
99 | CONFIG_PRINTK=y | 111 | CONFIG_PRINTK=y |
100 | CONFIG_BUG=y | 112 | CONFIG_BUG=y |
101 | CONFIG_ELF_CORE=y | 113 | CONFIG_ELF_CORE=y |
102 | # CONFIG_COMPAT_BRK is not set | ||
103 | CONFIG_BASE_FULL=y | 114 | CONFIG_BASE_FULL=y |
104 | CONFIG_FUTEX=y | 115 | CONFIG_FUTEX=y |
105 | CONFIG_ANON_INODES=y | ||
106 | CONFIG_EPOLL=y | 116 | CONFIG_EPOLL=y |
107 | CONFIG_SIGNALFD=y | 117 | CONFIG_SIGNALFD=y |
108 | CONFIG_TIMERFD=y | 118 | CONFIG_TIMERFD=y |
109 | CONFIG_EVENTFD=y | 119 | CONFIG_EVENTFD=y |
110 | CONFIG_SHMEM=y | 120 | CONFIG_SHMEM=y |
121 | CONFIG_AIO=y | ||
111 | CONFIG_VM_EVENT_COUNTERS=y | 122 | CONFIG_VM_EVENT_COUNTERS=y |
123 | # CONFIG_COMPAT_BRK is not set | ||
112 | CONFIG_SLAB=y | 124 | CONFIG_SLAB=y |
113 | # CONFIG_SLUB is not set | 125 | # CONFIG_SLUB is not set |
114 | # CONFIG_SLOB is not set | 126 | # CONFIG_SLOB is not set |
115 | CONFIG_PROFILING=y | 127 | CONFIG_PROFILING=y |
116 | # CONFIG_MARKERS is not set | 128 | CONFIG_TRACEPOINTS=y |
129 | CONFIG_MARKERS=y | ||
117 | CONFIG_OPROFILE=m | 130 | CONFIG_OPROFILE=m |
118 | CONFIG_HAVE_OPROFILE=y | 131 | CONFIG_HAVE_OPROFILE=y |
119 | # CONFIG_KPROBES is not set | 132 | # CONFIG_KPROBES is not set |
120 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 133 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
134 | CONFIG_HAVE_SYSCALL_WRAPPERS=y | ||
121 | CONFIG_HAVE_IOREMAP_PROT=y | 135 | CONFIG_HAVE_IOREMAP_PROT=y |
122 | CONFIG_HAVE_KPROBES=y | 136 | CONFIG_HAVE_KPROBES=y |
123 | CONFIG_HAVE_KRETPROBES=y | 137 | CONFIG_HAVE_KRETPROBES=y |
124 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 138 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
125 | CONFIG_HAVE_DMA_ATTRS=y | 139 | CONFIG_HAVE_DMA_ATTRS=y |
126 | CONFIG_USE_GENERIC_SMP_HELPERS=y | 140 | CONFIG_USE_GENERIC_SMP_HELPERS=y |
127 | # CONFIG_HAVE_CLK is not set | ||
128 | CONFIG_PROC_PAGE_MONITOR=y | ||
129 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 141 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
130 | CONFIG_SLABINFO=y | 142 | CONFIG_SLABINFO=y |
131 | CONFIG_RT_MUTEXES=y | 143 | CONFIG_RT_MUTEXES=y |
132 | # CONFIG_TINY_SHMEM is not set | ||
133 | CONFIG_BASE_SMALL=0 | 144 | CONFIG_BASE_SMALL=0 |
134 | CONFIG_MODULES=y | 145 | CONFIG_MODULES=y |
135 | # CONFIG_MODULE_FORCE_LOAD is not set | 146 | # CONFIG_MODULE_FORCE_LOAD is not set |
@@ -137,7 +148,6 @@ CONFIG_MODULE_UNLOAD=y | |||
137 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 148 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
138 | # CONFIG_MODVERSIONS is not set | 149 | # CONFIG_MODVERSIONS is not set |
139 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 150 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
140 | CONFIG_KMOD=y | ||
141 | CONFIG_STOP_MACHINE=y | 151 | CONFIG_STOP_MACHINE=y |
142 | CONFIG_BLOCK=y | 152 | CONFIG_BLOCK=y |
143 | # CONFIG_BLK_DEV_IO_TRACE is not set | 153 | # CONFIG_BLK_DEV_IO_TRACE is not set |
@@ -157,7 +167,7 @@ CONFIG_DEFAULT_AS=y | |||
157 | # CONFIG_DEFAULT_CFQ is not set | 167 | # CONFIG_DEFAULT_CFQ is not set |
158 | # CONFIG_DEFAULT_NOOP is not set | 168 | # CONFIG_DEFAULT_NOOP is not set |
159 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 169 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
160 | CONFIG_CLASSIC_RCU=y | 170 | # CONFIG_FREEZER is not set |
161 | 171 | ||
162 | # | 172 | # |
163 | # Platform support | 173 | # Platform support |
@@ -183,18 +193,20 @@ CONFIG_PS3_STORAGE=y | |||
183 | CONFIG_PS3_DISK=y | 193 | CONFIG_PS3_DISK=y |
184 | CONFIG_PS3_ROM=y | 194 | CONFIG_PS3_ROM=y |
185 | CONFIG_PS3_FLASH=y | 195 | CONFIG_PS3_FLASH=y |
186 | CONFIG_OPROFILE_PS3=y | 196 | CONFIG_PS3_VRAM=m |
187 | CONFIG_PS3_LPM=m | 197 | CONFIG_PS3_LPM=m |
188 | CONFIG_PPC_CELL=y | 198 | CONFIG_PPC_CELL=y |
189 | # CONFIG_PPC_CELL_NATIVE is not set | 199 | # CONFIG_PPC_CELL_NATIVE is not set |
190 | # CONFIG_PPC_IBM_CELL_BLADE is not set | 200 | # CONFIG_PPC_IBM_CELL_BLADE is not set |
191 | # CONFIG_PPC_CELLEB is not set | 201 | # CONFIG_PPC_CELLEB is not set |
202 | # CONFIG_PPC_CELL_QPACE is not set | ||
192 | 203 | ||
193 | # | 204 | # |
194 | # Cell Broadband Engine options | 205 | # Cell Broadband Engine options |
195 | # | 206 | # |
196 | CONFIG_SPU_FS=y | 207 | CONFIG_SPU_FS=y |
197 | CONFIG_SPU_FS_64K_LS=y | 208 | CONFIG_SPU_FS_64K_LS=y |
209 | # CONFIG_SPU_TRACE is not set | ||
198 | CONFIG_SPU_BASE=y | 210 | CONFIG_SPU_BASE=y |
199 | # CONFIG_PQ2ADS is not set | 211 | # CONFIG_PQ2ADS is not set |
200 | # CONFIG_IPIC is not set | 212 | # CONFIG_IPIC is not set |
@@ -210,6 +222,7 @@ CONFIG_SPU_BASE=y | |||
210 | # CONFIG_GENERIC_IOMAP is not set | 222 | # CONFIG_GENERIC_IOMAP is not set |
211 | # CONFIG_CPU_FREQ is not set | 223 | # CONFIG_CPU_FREQ is not set |
212 | # CONFIG_FSL_ULI1575 is not set | 224 | # CONFIG_FSL_ULI1575 is not set |
225 | # CONFIG_SIMPLE_GPIO is not set | ||
213 | 226 | ||
214 | # | 227 | # |
215 | # Kernel options | 228 | # Kernel options |
@@ -229,6 +242,8 @@ CONFIG_PREEMPT_NONE=y | |||
229 | # CONFIG_PREEMPT is not set | 242 | # CONFIG_PREEMPT is not set |
230 | CONFIG_BINFMT_ELF=y | 243 | CONFIG_BINFMT_ELF=y |
231 | CONFIG_COMPAT_BINFMT_ELF=y | 244 | CONFIG_COMPAT_BINFMT_ELF=y |
245 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
246 | # CONFIG_HAVE_AOUT is not set | ||
232 | CONFIG_BINFMT_MISC=y | 247 | CONFIG_BINFMT_MISC=y |
233 | CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y | 248 | CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y |
234 | # CONFIG_IOMMU_VMERGE is not set | 249 | # CONFIG_IOMMU_VMERGE is not set |
@@ -251,7 +266,6 @@ CONFIG_SELECT_MEMORY_MODEL=y | |||
251 | CONFIG_SPARSEMEM_MANUAL=y | 266 | CONFIG_SPARSEMEM_MANUAL=y |
252 | CONFIG_SPARSEMEM=y | 267 | CONFIG_SPARSEMEM=y |
253 | CONFIG_HAVE_MEMORY_PRESENT=y | 268 | CONFIG_HAVE_MEMORY_PRESENT=y |
254 | # CONFIG_SPARSEMEM_STATIC is not set | ||
255 | CONFIG_SPARSEMEM_EXTREME=y | 269 | CONFIG_SPARSEMEM_EXTREME=y |
256 | CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y | 270 | CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y |
257 | # CONFIG_SPARSEMEM_VMEMMAP is not set | 271 | # CONFIG_SPARSEMEM_VMEMMAP is not set |
@@ -261,11 +275,14 @@ CONFIG_MEMORY_HOTPLUG_SPARSE=y | |||
261 | CONFIG_PAGEFLAGS_EXTENDED=y | 275 | CONFIG_PAGEFLAGS_EXTENDED=y |
262 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 276 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
263 | CONFIG_MIGRATION=y | 277 | CONFIG_MIGRATION=y |
264 | CONFIG_RESOURCES_64BIT=y | 278 | CONFIG_PHYS_ADDR_T_64BIT=y |
265 | CONFIG_ZONE_DMA_FLAG=1 | 279 | CONFIG_ZONE_DMA_FLAG=1 |
266 | CONFIG_BOUNCE=y | 280 | CONFIG_BOUNCE=y |
281 | CONFIG_UNEVICTABLE_LRU=y | ||
267 | CONFIG_ARCH_MEMORY_PROBE=y | 282 | CONFIG_ARCH_MEMORY_PROBE=y |
268 | CONFIG_PPC_HAS_HASH_64K=y | 283 | CONFIG_PPC_HAS_HASH_64K=y |
284 | CONFIG_PPC_4K_PAGES=y | ||
285 | # CONFIG_PPC_16K_PAGES is not set | ||
269 | # CONFIG_PPC_64K_PAGES is not set | 286 | # CONFIG_PPC_64K_PAGES is not set |
270 | CONFIG_FORCE_MAX_ZONEORDER=13 | 287 | CONFIG_FORCE_MAX_ZONEORDER=13 |
271 | CONFIG_SCHED_SMT=y | 288 | CONFIG_SCHED_SMT=y |
@@ -299,6 +316,7 @@ CONFIG_NET=y | |||
299 | # | 316 | # |
300 | # Networking options | 317 | # Networking options |
301 | # | 318 | # |
319 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
302 | CONFIG_PACKET=y | 320 | CONFIG_PACKET=y |
303 | CONFIG_PACKET_MMAP=y | 321 | CONFIG_PACKET_MMAP=y |
304 | CONFIG_UNIX=y | 322 | CONFIG_UNIX=y |
@@ -361,6 +379,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y | |||
361 | # CONFIG_TIPC is not set | 379 | # CONFIG_TIPC is not set |
362 | # CONFIG_ATM is not set | 380 | # CONFIG_ATM is not set |
363 | # CONFIG_BRIDGE is not set | 381 | # CONFIG_BRIDGE is not set |
382 | # CONFIG_NET_DSA is not set | ||
364 | # CONFIG_VLAN_8021Q is not set | 383 | # CONFIG_VLAN_8021Q is not set |
365 | # CONFIG_DECNET is not set | 384 | # CONFIG_DECNET is not set |
366 | # CONFIG_LLC2 is not set | 385 | # CONFIG_LLC2 is not set |
@@ -371,6 +390,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y | |||
371 | # CONFIG_ECONET is not set | 390 | # CONFIG_ECONET is not set |
372 | # CONFIG_WAN_ROUTER is not set | 391 | # CONFIG_WAN_ROUTER is not set |
373 | # CONFIG_NET_SCHED is not set | 392 | # CONFIG_NET_SCHED is not set |
393 | # CONFIG_DCB is not set | ||
374 | 394 | ||
375 | # | 395 | # |
376 | # Network testing | 396 | # Network testing |
@@ -392,39 +412,37 @@ CONFIG_BT_HIDP=m | |||
392 | # | 412 | # |
393 | # Bluetooth device drivers | 413 | # Bluetooth device drivers |
394 | # | 414 | # |
395 | CONFIG_BT_HCIUSB=m | 415 | CONFIG_BT_HCIBTUSB=m |
396 | CONFIG_BT_HCIUSB_SCO=y | ||
397 | # CONFIG_BT_HCIUART is not set | 416 | # CONFIG_BT_HCIUART is not set |
398 | # CONFIG_BT_HCIBCM203X is not set | 417 | # CONFIG_BT_HCIBCM203X is not set |
399 | # CONFIG_BT_HCIBPA10X is not set | 418 | # CONFIG_BT_HCIBPA10X is not set |
400 | # CONFIG_BT_HCIBFUSB is not set | 419 | # CONFIG_BT_HCIBFUSB is not set |
401 | # CONFIG_BT_HCIVHCI is not set | 420 | # CONFIG_BT_HCIVHCI is not set |
402 | # CONFIG_AF_RXRPC is not set | 421 | # CONFIG_AF_RXRPC is not set |
403 | 422 | # CONFIG_PHONET is not set | |
404 | # | 423 | CONFIG_WIRELESS=y |
405 | # Wireless | ||
406 | # | ||
407 | CONFIG_CFG80211=m | 424 | CONFIG_CFG80211=m |
425 | # CONFIG_CFG80211_REG_DEBUG is not set | ||
408 | CONFIG_NL80211=y | 426 | CONFIG_NL80211=y |
427 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
409 | CONFIG_WIRELESS_EXT=y | 428 | CONFIG_WIRELESS_EXT=y |
410 | # CONFIG_WIRELESS_EXT_SYSFS is not set | 429 | # CONFIG_WIRELESS_EXT_SYSFS is not set |
430 | # CONFIG_LIB80211 is not set | ||
411 | CONFIG_MAC80211=m | 431 | CONFIG_MAC80211=m |
412 | 432 | ||
413 | # | 433 | # |
414 | # Rate control algorithm selection | 434 | # Rate control algorithm selection |
415 | # | 435 | # |
416 | CONFIG_MAC80211_RC_PID=y | 436 | CONFIG_MAC80211_RC_PID=y |
437 | # CONFIG_MAC80211_RC_MINSTREL is not set | ||
417 | CONFIG_MAC80211_RC_DEFAULT_PID=y | 438 | CONFIG_MAC80211_RC_DEFAULT_PID=y |
439 | # CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set | ||
418 | CONFIG_MAC80211_RC_DEFAULT="pid" | 440 | CONFIG_MAC80211_RC_DEFAULT="pid" |
419 | # CONFIG_MAC80211_MESH is not set | 441 | # CONFIG_MAC80211_MESH is not set |
420 | # CONFIG_MAC80211_LEDS is not set | 442 | # CONFIG_MAC80211_LEDS is not set |
421 | # CONFIG_MAC80211_DEBUGFS is not set | 443 | # CONFIG_MAC80211_DEBUGFS is not set |
422 | # CONFIG_MAC80211_DEBUG_MENU is not set | 444 | # CONFIG_MAC80211_DEBUG_MENU is not set |
423 | CONFIG_IEEE80211=m | 445 | # CONFIG_WIMAX is not set |
424 | # CONFIG_IEEE80211_DEBUG is not set | ||
425 | CONFIG_IEEE80211_CRYPT_WEP=m | ||
426 | CONFIG_IEEE80211_CRYPT_CCMP=m | ||
427 | CONFIG_IEEE80211_CRYPT_TKIP=m | ||
428 | # CONFIG_RFKILL is not set | 446 | # CONFIG_RFKILL is not set |
429 | # CONFIG_NET_9P is not set | 447 | # CONFIG_NET_9P is not set |
430 | 448 | ||
@@ -450,6 +468,7 @@ CONFIG_MTD_DEBUG=y | |||
450 | CONFIG_MTD_DEBUG_VERBOSE=0 | 468 | CONFIG_MTD_DEBUG_VERBOSE=0 |
451 | # CONFIG_MTD_CONCAT is not set | 469 | # CONFIG_MTD_CONCAT is not set |
452 | # CONFIG_MTD_PARTITIONS is not set | 470 | # CONFIG_MTD_PARTITIONS is not set |
471 | # CONFIG_MTD_TESTS is not set | ||
453 | 472 | ||
454 | # | 473 | # |
455 | # User Modules And Translation Layers | 474 | # User Modules And Translation Layers |
@@ -494,7 +513,6 @@ CONFIG_MTD_CFI_I2=y | |||
494 | # | 513 | # |
495 | # CONFIG_MTD_SLRAM is not set | 514 | # CONFIG_MTD_SLRAM is not set |
496 | # CONFIG_MTD_PHRAM is not set | 515 | # CONFIG_MTD_PHRAM is not set |
497 | CONFIG_MTD_PS3VRAM=y | ||
498 | # CONFIG_MTD_MTDRAM is not set | 516 | # CONFIG_MTD_MTDRAM is not set |
499 | # CONFIG_MTD_BLOCK2MTD is not set | 517 | # CONFIG_MTD_BLOCK2MTD is not set |
500 | 518 | ||
@@ -508,6 +526,11 @@ CONFIG_MTD_PS3VRAM=y | |||
508 | # CONFIG_MTD_ONENAND is not set | 526 | # CONFIG_MTD_ONENAND is not set |
509 | 527 | ||
510 | # | 528 | # |
529 | # LPDDR flash memory drivers | ||
530 | # | ||
531 | # CONFIG_MTD_LPDDR is not set | ||
532 | |||
533 | # | ||
511 | # UBI - Unsorted block images | 534 | # UBI - Unsorted block images |
512 | # | 535 | # |
513 | # CONFIG_MTD_UBI is not set | 536 | # CONFIG_MTD_UBI is not set |
@@ -528,8 +551,13 @@ CONFIG_BLK_DEV_RAM_SIZE=65535 | |||
528 | # CONFIG_ATA_OVER_ETH is not set | 551 | # CONFIG_ATA_OVER_ETH is not set |
529 | # CONFIG_BLK_DEV_HD is not set | 552 | # CONFIG_BLK_DEV_HD is not set |
530 | CONFIG_MISC_DEVICES=y | 553 | CONFIG_MISC_DEVICES=y |
531 | # CONFIG_EEPROM_93CX6 is not set | ||
532 | # CONFIG_ENCLOSURE_SERVICES is not set | 554 | # CONFIG_ENCLOSURE_SERVICES is not set |
555 | # CONFIG_C2PORT is not set | ||
556 | |||
557 | # | ||
558 | # EEPROM support | ||
559 | # | ||
560 | # CONFIG_EEPROM_93CX6 is not set | ||
533 | CONFIG_HAVE_IDE=y | 561 | CONFIG_HAVE_IDE=y |
534 | # CONFIG_IDE is not set | 562 | # CONFIG_IDE is not set |
535 | 563 | ||
@@ -575,7 +603,17 @@ CONFIG_SCSI_WAIT_SCAN=m | |||
575 | # CONFIG_SCSI_LOWLEVEL is not set | 603 | # CONFIG_SCSI_LOWLEVEL is not set |
576 | # CONFIG_SCSI_DH is not set | 604 | # CONFIG_SCSI_DH is not set |
577 | # CONFIG_ATA is not set | 605 | # CONFIG_ATA is not set |
578 | # CONFIG_MD is not set | 606 | CONFIG_MD=y |
607 | # CONFIG_BLK_DEV_MD is not set | ||
608 | CONFIG_BLK_DEV_DM=m | ||
609 | # CONFIG_DM_DEBUG is not set | ||
610 | # CONFIG_DM_CRYPT is not set | ||
611 | # CONFIG_DM_SNAPSHOT is not set | ||
612 | # CONFIG_DM_MIRROR is not set | ||
613 | # CONFIG_DM_ZERO is not set | ||
614 | # CONFIG_DM_MULTIPATH is not set | ||
615 | # CONFIG_DM_DELAY is not set | ||
616 | # CONFIG_DM_UEVENT is not set | ||
579 | # CONFIG_MACINTOSH_DRIVERS is not set | 617 | # CONFIG_MACINTOSH_DRIVERS is not set |
580 | CONFIG_NETDEVICES=y | 618 | CONFIG_NETDEVICES=y |
581 | # CONFIG_DUMMY is not set | 619 | # CONFIG_DUMMY is not set |
@@ -591,6 +629,9 @@ CONFIG_MII=m | |||
591 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 629 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
592 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 630 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
593 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 631 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
632 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
633 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
634 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
594 | # CONFIG_B44 is not set | 635 | # CONFIG_B44 is not set |
595 | CONFIG_NETDEV_1000=y | 636 | CONFIG_NETDEV_1000=y |
596 | CONFIG_GELIC_NET=y | 637 | CONFIG_GELIC_NET=y |
@@ -604,6 +645,7 @@ CONFIG_GELIC_WIRELESS_OLD_PSK_INTERFACE=y | |||
604 | # CONFIG_WLAN_PRE80211 is not set | 645 | # CONFIG_WLAN_PRE80211 is not set |
605 | CONFIG_WLAN_80211=y | 646 | CONFIG_WLAN_80211=y |
606 | # CONFIG_LIBERTAS is not set | 647 | # CONFIG_LIBERTAS is not set |
648 | # CONFIG_LIBERTAS_THINFIRM is not set | ||
607 | # CONFIG_USB_ZD1201 is not set | 649 | # CONFIG_USB_ZD1201 is not set |
608 | # CONFIG_USB_NET_RNDIS_WLAN is not set | 650 | # CONFIG_USB_NET_RNDIS_WLAN is not set |
609 | # CONFIG_RTL8187 is not set | 651 | # CONFIG_RTL8187 is not set |
@@ -615,13 +657,11 @@ CONFIG_WLAN_80211=y | |||
615 | # CONFIG_B43LEGACY is not set | 657 | # CONFIG_B43LEGACY is not set |
616 | CONFIG_ZD1211RW=m | 658 | CONFIG_ZD1211RW=m |
617 | # CONFIG_ZD1211RW_DEBUG is not set | 659 | # CONFIG_ZD1211RW_DEBUG is not set |
618 | CONFIG_RT2X00=m | 660 | # CONFIG_RT2X00 is not set |
619 | CONFIG_RT2X00_LIB=m | 661 | |
620 | CONFIG_RT2X00_LIB_USB=m | 662 | # |
621 | CONFIG_RT2X00_LIB_FIRMWARE=y | 663 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
622 | # CONFIG_RT2500USB is not set | 664 | # |
623 | CONFIG_RT73USB=m | ||
624 | # CONFIG_RT2X00_DEBUG is not set | ||
625 | 665 | ||
626 | # | 666 | # |
627 | # USB Network Adapters | 667 | # USB Network Adapters |
@@ -634,6 +674,7 @@ CONFIG_USB_USBNET=m | |||
634 | CONFIG_USB_NET_AX8817X=m | 674 | CONFIG_USB_NET_AX8817X=m |
635 | # CONFIG_USB_NET_CDCETHER is not set | 675 | # CONFIG_USB_NET_CDCETHER is not set |
636 | # CONFIG_USB_NET_DM9601 is not set | 676 | # CONFIG_USB_NET_DM9601 is not set |
677 | # CONFIG_USB_NET_SMSC95XX is not set | ||
637 | # CONFIG_USB_NET_GL620A is not set | 678 | # CONFIG_USB_NET_GL620A is not set |
638 | # CONFIG_USB_NET_NET1080 is not set | 679 | # CONFIG_USB_NET_NET1080 is not set |
639 | # CONFIG_USB_NET_PLUSB is not set | 680 | # CONFIG_USB_NET_PLUSB is not set |
@@ -664,7 +705,7 @@ CONFIG_SLHC=m | |||
664 | # Input device support | 705 | # Input device support |
665 | # | 706 | # |
666 | CONFIG_INPUT=y | 707 | CONFIG_INPUT=y |
667 | # CONFIG_INPUT_FF_MEMLESS is not set | 708 | CONFIG_INPUT_FF_MEMLESS=m |
668 | # CONFIG_INPUT_POLLDEV is not set | 709 | # CONFIG_INPUT_POLLDEV is not set |
669 | 710 | ||
670 | # | 711 | # |
@@ -735,8 +776,10 @@ CONFIG_DEVKMEM=y | |||
735 | # Non-8250 serial port support | 776 | # Non-8250 serial port support |
736 | # | 777 | # |
737 | CONFIG_UNIX98_PTYS=y | 778 | CONFIG_UNIX98_PTYS=y |
779 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
738 | CONFIG_LEGACY_PTYS=y | 780 | CONFIG_LEGACY_PTYS=y |
739 | CONFIG_LEGACY_PTY_COUNT=16 | 781 | CONFIG_LEGACY_PTY_COUNT=16 |
782 | # CONFIG_HVC_UDBG is not set | ||
740 | # CONFIG_IPMI_HANDLER is not set | 783 | # CONFIG_IPMI_HANDLER is not set |
741 | # CONFIG_HW_RANDOM is not set | 784 | # CONFIG_HW_RANDOM is not set |
742 | # CONFIG_R3964 is not set | 785 | # CONFIG_R3964 is not set |
@@ -753,11 +796,11 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | |||
753 | # CONFIG_THERMAL is not set | 796 | # CONFIG_THERMAL is not set |
754 | # CONFIG_THERMAL_HWMON is not set | 797 | # CONFIG_THERMAL_HWMON is not set |
755 | # CONFIG_WATCHDOG is not set | 798 | # CONFIG_WATCHDOG is not set |
799 | CONFIG_SSB_POSSIBLE=y | ||
756 | 800 | ||
757 | # | 801 | # |
758 | # Sonics Silicon Backplane | 802 | # Sonics Silicon Backplane |
759 | # | 803 | # |
760 | CONFIG_SSB_POSSIBLE=y | ||
761 | # CONFIG_SSB is not set | 804 | # CONFIG_SSB is not set |
762 | 805 | ||
763 | # | 806 | # |
@@ -767,6 +810,7 @@ CONFIG_SSB_POSSIBLE=y | |||
767 | # CONFIG_MFD_SM501 is not set | 810 | # CONFIG_MFD_SM501 is not set |
768 | # CONFIG_HTC_PASIC3 is not set | 811 | # CONFIG_HTC_PASIC3 is not set |
769 | # CONFIG_MFD_TMIO is not set | 812 | # CONFIG_MFD_TMIO is not set |
813 | # CONFIG_REGULATOR is not set | ||
770 | 814 | ||
771 | # | 815 | # |
772 | # Multimedia devices | 816 | # Multimedia devices |
@@ -792,6 +836,7 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m | |||
792 | CONFIG_FB=y | 836 | CONFIG_FB=y |
793 | # CONFIG_FIRMWARE_EDID is not set | 837 | # CONFIG_FIRMWARE_EDID is not set |
794 | # CONFIG_FB_DDC is not set | 838 | # CONFIG_FB_DDC is not set |
839 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
795 | # CONFIG_FB_CFB_FILLRECT is not set | 840 | # CONFIG_FB_CFB_FILLRECT is not set |
796 | # CONFIG_FB_CFB_COPYAREA is not set | 841 | # CONFIG_FB_CFB_COPYAREA is not set |
797 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 842 | # CONFIG_FB_CFB_IMAGEBLIT is not set |
@@ -817,6 +862,8 @@ CONFIG_FB_SYS_FOPS=y | |||
817 | CONFIG_FB_PS3=y | 862 | CONFIG_FB_PS3=y |
818 | CONFIG_FB_PS3_DEFAULT_SIZE_M=9 | 863 | CONFIG_FB_PS3_DEFAULT_SIZE_M=9 |
819 | # CONFIG_FB_VIRTUAL is not set | 864 | # CONFIG_FB_VIRTUAL is not set |
865 | # CONFIG_FB_METRONOME is not set | ||
866 | # CONFIG_FB_MB862XX is not set | ||
820 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 867 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
821 | 868 | ||
822 | # | 869 | # |
@@ -841,6 +888,7 @@ CONFIG_FB_LOGO_EXTRA=y | |||
841 | # CONFIG_LOGO_LINUX_VGA16 is not set | 888 | # CONFIG_LOGO_LINUX_VGA16 is not set |
842 | CONFIG_LOGO_LINUX_CLUT224=y | 889 | CONFIG_LOGO_LINUX_CLUT224=y |
843 | CONFIG_SOUND=m | 890 | CONFIG_SOUND=m |
891 | # CONFIG_SOUND_OSS_CORE is not set | ||
844 | CONFIG_SND=m | 892 | CONFIG_SND=m |
845 | CONFIG_SND_TIMER=m | 893 | CONFIG_SND_TIMER=m |
846 | CONFIG_SND_PCM=m | 894 | CONFIG_SND_PCM=m |
@@ -849,6 +897,7 @@ CONFIG_SND_RAWMIDI=m | |||
849 | # CONFIG_SND_SEQUENCER is not set | 897 | # CONFIG_SND_SEQUENCER is not set |
850 | # CONFIG_SND_MIXER_OSS is not set | 898 | # CONFIG_SND_MIXER_OSS is not set |
851 | # CONFIG_SND_PCM_OSS is not set | 899 | # CONFIG_SND_PCM_OSS is not set |
900 | # CONFIG_SND_HRTIMER is not set | ||
852 | # CONFIG_SND_DYNAMIC_MINORS is not set | 901 | # CONFIG_SND_DYNAMIC_MINORS is not set |
853 | CONFIG_SND_SUPPORT_OLD_API=y | 902 | CONFIG_SND_SUPPORT_OLD_API=y |
854 | CONFIG_SND_VERBOSE_PROCFS=y | 903 | CONFIG_SND_VERBOSE_PROCFS=y |
@@ -873,15 +922,40 @@ CONFIG_HIDRAW=y | |||
873 | # USB Input Devices | 922 | # USB Input Devices |
874 | # | 923 | # |
875 | CONFIG_USB_HID=m | 924 | CONFIG_USB_HID=m |
876 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set | 925 | # CONFIG_HID_PID is not set |
877 | # CONFIG_HID_FF is not set | 926 | CONFIG_USB_HIDDEV=y |
878 | # CONFIG_USB_HIDDEV is not set | ||
879 | 927 | ||
880 | # | 928 | # |
881 | # USB HID Boot Protocol drivers | 929 | # USB HID Boot Protocol drivers |
882 | # | 930 | # |
883 | # CONFIG_USB_KBD is not set | 931 | # CONFIG_USB_KBD is not set |
884 | # CONFIG_USB_MOUSE is not set | 932 | # CONFIG_USB_MOUSE is not set |
933 | |||
934 | # | ||
935 | # Special HID drivers | ||
936 | # | ||
937 | # CONFIG_HID_COMPAT is not set | ||
938 | # CONFIG_HID_A4TECH is not set | ||
939 | # CONFIG_HID_APPLE is not set | ||
940 | # CONFIG_HID_BELKIN is not set | ||
941 | # CONFIG_HID_CHERRY is not set | ||
942 | # CONFIG_HID_CHICONY is not set | ||
943 | # CONFIG_HID_CYPRESS is not set | ||
944 | # CONFIG_HID_EZKEY is not set | ||
945 | # CONFIG_HID_GYRATION is not set | ||
946 | # CONFIG_HID_LOGITECH is not set | ||
947 | # CONFIG_HID_MICROSOFT is not set | ||
948 | # CONFIG_HID_MONTEREY is not set | ||
949 | # CONFIG_HID_NTRIG is not set | ||
950 | # CONFIG_HID_PANTHERLORD is not set | ||
951 | # CONFIG_HID_PETALYNX is not set | ||
952 | # CONFIG_HID_SAMSUNG is not set | ||
953 | # CONFIG_HID_SONY is not set | ||
954 | # CONFIG_HID_SUNPLUS is not set | ||
955 | # CONFIG_GREENASIA_FF is not set | ||
956 | # CONFIG_HID_TOPSEED is not set | ||
957 | # CONFIG_THRUSTMASTER_FF is not set | ||
958 | # CONFIG_ZEROPLUS_FF is not set | ||
885 | CONFIG_USB_SUPPORT=y | 959 | CONFIG_USB_SUPPORT=y |
886 | CONFIG_USB_ARCH_HAS_HCD=y | 960 | CONFIG_USB_ARCH_HAS_HCD=y |
887 | CONFIG_USB_ARCH_HAS_OHCI=y | 961 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -898,7 +972,11 @@ CONFIG_USB_DEVICEFS=y | |||
898 | # CONFIG_USB_DYNAMIC_MINORS is not set | 972 | # CONFIG_USB_DYNAMIC_MINORS is not set |
899 | CONFIG_USB_SUSPEND=y | 973 | CONFIG_USB_SUSPEND=y |
900 | # CONFIG_USB_OTG is not set | 974 | # CONFIG_USB_OTG is not set |
901 | CONFIG_USB_MON=y | 975 | # CONFIG_USB_OTG_WHITELIST is not set |
976 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
977 | CONFIG_USB_MON=m | ||
978 | # CONFIG_USB_WUSB is not set | ||
979 | # CONFIG_USB_WUSB_CBAF is not set | ||
902 | 980 | ||
903 | # | 981 | # |
904 | # USB Host Controller Drivers | 982 | # USB Host Controller Drivers |
@@ -909,6 +987,7 @@ CONFIG_USB_EHCI_HCD=m | |||
909 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set | 987 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set |
910 | CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y | 988 | CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y |
911 | # CONFIG_USB_EHCI_HCD_PPC_OF is not set | 989 | # CONFIG_USB_EHCI_HCD_PPC_OF is not set |
990 | # CONFIG_USB_OXU210HP_HCD is not set | ||
912 | # CONFIG_USB_ISP116X_HCD is not set | 991 | # CONFIG_USB_ISP116X_HCD is not set |
913 | # CONFIG_USB_ISP1760_HCD is not set | 992 | # CONFIG_USB_ISP1760_HCD is not set |
914 | CONFIG_USB_OHCI_HCD=m | 993 | CONFIG_USB_OHCI_HCD=m |
@@ -918,6 +997,7 @@ CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y | |||
918 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | 997 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y |
919 | # CONFIG_USB_SL811_HCD is not set | 998 | # CONFIG_USB_SL811_HCD is not set |
920 | # CONFIG_USB_R8A66597_HCD is not set | 999 | # CONFIG_USB_R8A66597_HCD is not set |
1000 | # CONFIG_USB_HWA_HCD is not set | ||
921 | 1001 | ||
922 | # | 1002 | # |
923 | # Enable Host or Gadget support to see Inventra options | 1003 | # Enable Host or Gadget support to see Inventra options |
@@ -929,20 +1009,20 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
929 | # CONFIG_USB_ACM is not set | 1009 | # CONFIG_USB_ACM is not set |
930 | # CONFIG_USB_PRINTER is not set | 1010 | # CONFIG_USB_PRINTER is not set |
931 | # CONFIG_USB_WDM is not set | 1011 | # CONFIG_USB_WDM is not set |
1012 | # CONFIG_USB_TMC is not set | ||
932 | 1013 | ||
933 | # | 1014 | # |
934 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 1015 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; |
935 | # | 1016 | # |
936 | 1017 | ||
937 | # | 1018 | # |
938 | # may also be needed; see USB_STORAGE Help for more information | 1019 | # see USB_STORAGE Help for more information |
939 | # | 1020 | # |
940 | CONFIG_USB_STORAGE=m | 1021 | CONFIG_USB_STORAGE=m |
941 | # CONFIG_USB_STORAGE_DEBUG is not set | 1022 | # CONFIG_USB_STORAGE_DEBUG is not set |
942 | # CONFIG_USB_STORAGE_DATAFAB is not set | 1023 | # CONFIG_USB_STORAGE_DATAFAB is not set |
943 | # CONFIG_USB_STORAGE_FREECOM is not set | 1024 | # CONFIG_USB_STORAGE_FREECOM is not set |
944 | # CONFIG_USB_STORAGE_ISD200 is not set | 1025 | # CONFIG_USB_STORAGE_ISD200 is not set |
945 | # CONFIG_USB_STORAGE_DPCM is not set | ||
946 | # CONFIG_USB_STORAGE_USBAT is not set | 1026 | # CONFIG_USB_STORAGE_USBAT is not set |
947 | # CONFIG_USB_STORAGE_SDDR09 is not set | 1027 | # CONFIG_USB_STORAGE_SDDR09 is not set |
948 | # CONFIG_USB_STORAGE_SDDR55 is not set | 1028 | # CONFIG_USB_STORAGE_SDDR55 is not set |
@@ -950,7 +1030,6 @@ CONFIG_USB_STORAGE=m | |||
950 | # CONFIG_USB_STORAGE_ALAUDA is not set | 1030 | # CONFIG_USB_STORAGE_ALAUDA is not set |
951 | # CONFIG_USB_STORAGE_ONETOUCH is not set | 1031 | # CONFIG_USB_STORAGE_ONETOUCH is not set |
952 | # CONFIG_USB_STORAGE_KARMA is not set | 1032 | # CONFIG_USB_STORAGE_KARMA is not set |
953 | # CONFIG_USB_STORAGE_SIERRA is not set | ||
954 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set | 1033 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set |
955 | # CONFIG_USB_LIBUSUAL is not set | 1034 | # CONFIG_USB_LIBUSUAL is not set |
956 | 1035 | ||
@@ -971,6 +1050,7 @@ CONFIG_USB_STORAGE=m | |||
971 | # CONFIG_USB_EMI62 is not set | 1050 | # CONFIG_USB_EMI62 is not set |
972 | # CONFIG_USB_EMI26 is not set | 1051 | # CONFIG_USB_EMI26 is not set |
973 | # CONFIG_USB_ADUTUX is not set | 1052 | # CONFIG_USB_ADUTUX is not set |
1053 | # CONFIG_USB_SEVSEG is not set | ||
974 | # CONFIG_USB_RIO500 is not set | 1054 | # CONFIG_USB_RIO500 is not set |
975 | # CONFIG_USB_LEGOTOWER is not set | 1055 | # CONFIG_USB_LEGOTOWER is not set |
976 | # CONFIG_USB_LCD is not set | 1056 | # CONFIG_USB_LCD is not set |
@@ -988,7 +1068,12 @@ CONFIG_USB_STORAGE=m | |||
988 | # CONFIG_USB_IOWARRIOR is not set | 1068 | # CONFIG_USB_IOWARRIOR is not set |
989 | # CONFIG_USB_TEST is not set | 1069 | # CONFIG_USB_TEST is not set |
990 | # CONFIG_USB_ISIGHTFW is not set | 1070 | # CONFIG_USB_ISIGHTFW is not set |
1071 | # CONFIG_USB_VST is not set | ||
991 | # CONFIG_USB_GADGET is not set | 1072 | # CONFIG_USB_GADGET is not set |
1073 | |||
1074 | # | ||
1075 | # OTG and related infrastructure | ||
1076 | # | ||
992 | # CONFIG_MMC is not set | 1077 | # CONFIG_MMC is not set |
993 | # CONFIG_MEMSTICK is not set | 1078 | # CONFIG_MEMSTICK is not set |
994 | # CONFIG_NEW_LEDS is not set | 1079 | # CONFIG_NEW_LEDS is not set |
@@ -1014,12 +1099,15 @@ CONFIG_RTC_INTF_DEV=y | |||
1014 | # Platform RTC drivers | 1099 | # Platform RTC drivers |
1015 | # | 1100 | # |
1016 | # CONFIG_RTC_DRV_CMOS is not set | 1101 | # CONFIG_RTC_DRV_CMOS is not set |
1102 | # CONFIG_RTC_DRV_DS1286 is not set | ||
1017 | # CONFIG_RTC_DRV_DS1511 is not set | 1103 | # CONFIG_RTC_DRV_DS1511 is not set |
1018 | # CONFIG_RTC_DRV_DS1553 is not set | 1104 | # CONFIG_RTC_DRV_DS1553 is not set |
1019 | # CONFIG_RTC_DRV_DS1742 is not set | 1105 | # CONFIG_RTC_DRV_DS1742 is not set |
1020 | # CONFIG_RTC_DRV_STK17TA8 is not set | 1106 | # CONFIG_RTC_DRV_STK17TA8 is not set |
1021 | # CONFIG_RTC_DRV_M48T86 is not set | 1107 | # CONFIG_RTC_DRV_M48T86 is not set |
1108 | # CONFIG_RTC_DRV_M48T35 is not set | ||
1022 | # CONFIG_RTC_DRV_M48T59 is not set | 1109 | # CONFIG_RTC_DRV_M48T59 is not set |
1110 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
1023 | # CONFIG_RTC_DRV_V3020 is not set | 1111 | # CONFIG_RTC_DRV_V3020 is not set |
1024 | 1112 | ||
1025 | # | 1113 | # |
@@ -1028,6 +1116,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1028 | CONFIG_RTC_DRV_PPC=m | 1116 | CONFIG_RTC_DRV_PPC=m |
1029 | # CONFIG_DMADEVICES is not set | 1117 | # CONFIG_DMADEVICES is not set |
1030 | # CONFIG_UIO is not set | 1118 | # CONFIG_UIO is not set |
1119 | # CONFIG_STAGING is not set | ||
1031 | 1120 | ||
1032 | # | 1121 | # |
1033 | # File systems | 1122 | # File systems |
@@ -1035,26 +1124,35 @@ CONFIG_RTC_DRV_PPC=m | |||
1035 | CONFIG_EXT2_FS=m | 1124 | CONFIG_EXT2_FS=m |
1036 | # CONFIG_EXT2_FS_XATTR is not set | 1125 | # CONFIG_EXT2_FS_XATTR is not set |
1037 | # CONFIG_EXT2_FS_XIP is not set | 1126 | # CONFIG_EXT2_FS_XIP is not set |
1038 | CONFIG_EXT3_FS=y | 1127 | CONFIG_EXT3_FS=m |
1039 | CONFIG_EXT3_FS_XATTR=y | 1128 | CONFIG_EXT3_FS_XATTR=y |
1040 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1129 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1041 | # CONFIG_EXT3_FS_SECURITY is not set | 1130 | # CONFIG_EXT3_FS_SECURITY is not set |
1042 | # CONFIG_EXT4DEV_FS is not set | 1131 | CONFIG_EXT4_FS=y |
1043 | CONFIG_JBD=y | 1132 | # CONFIG_EXT4DEV_COMPAT is not set |
1133 | CONFIG_EXT4_FS_XATTR=y | ||
1134 | # CONFIG_EXT4_FS_POSIX_ACL is not set | ||
1135 | # CONFIG_EXT4_FS_SECURITY is not set | ||
1136 | CONFIG_JBD=m | ||
1044 | # CONFIG_JBD_DEBUG is not set | 1137 | # CONFIG_JBD_DEBUG is not set |
1138 | CONFIG_JBD2=y | ||
1139 | # CONFIG_JBD2_DEBUG is not set | ||
1045 | CONFIG_FS_MBCACHE=y | 1140 | CONFIG_FS_MBCACHE=y |
1046 | # CONFIG_REISERFS_FS is not set | 1141 | # CONFIG_REISERFS_FS is not set |
1047 | # CONFIG_JFS_FS is not set | 1142 | # CONFIG_JFS_FS is not set |
1048 | # CONFIG_FS_POSIX_ACL is not set | 1143 | # CONFIG_FS_POSIX_ACL is not set |
1144 | CONFIG_FILE_LOCKING=y | ||
1049 | # CONFIG_XFS_FS is not set | 1145 | # CONFIG_XFS_FS is not set |
1050 | # CONFIG_GFS2_FS is not set | 1146 | # CONFIG_GFS2_FS is not set |
1051 | # CONFIG_OCFS2_FS is not set | 1147 | # CONFIG_OCFS2_FS is not set |
1148 | # CONFIG_BTRFS_FS is not set | ||
1052 | CONFIG_DNOTIFY=y | 1149 | CONFIG_DNOTIFY=y |
1053 | CONFIG_INOTIFY=y | 1150 | CONFIG_INOTIFY=y |
1054 | CONFIG_INOTIFY_USER=y | 1151 | CONFIG_INOTIFY_USER=y |
1055 | CONFIG_QUOTA=y | 1152 | CONFIG_QUOTA=y |
1056 | # CONFIG_QUOTA_NETLINK_INTERFACE is not set | 1153 | # CONFIG_QUOTA_NETLINK_INTERFACE is not set |
1057 | CONFIG_PRINT_QUOTA_WARNING=y | 1154 | CONFIG_PRINT_QUOTA_WARNING=y |
1155 | CONFIG_QUOTA_TREE=y | ||
1058 | # CONFIG_QFMT_V1 is not set | 1156 | # CONFIG_QFMT_V1 is not set |
1059 | CONFIG_QFMT_V2=y | 1157 | CONFIG_QFMT_V2=y |
1060 | CONFIG_QUOTACTL=y | 1158 | CONFIG_QUOTACTL=y |
@@ -1087,16 +1185,14 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | |||
1087 | CONFIG_PROC_FS=y | 1185 | CONFIG_PROC_FS=y |
1088 | CONFIG_PROC_KCORE=y | 1186 | CONFIG_PROC_KCORE=y |
1089 | CONFIG_PROC_SYSCTL=y | 1187 | CONFIG_PROC_SYSCTL=y |
1188 | CONFIG_PROC_PAGE_MONITOR=y | ||
1090 | CONFIG_SYSFS=y | 1189 | CONFIG_SYSFS=y |
1091 | CONFIG_TMPFS=y | 1190 | CONFIG_TMPFS=y |
1092 | # CONFIG_TMPFS_POSIX_ACL is not set | 1191 | # CONFIG_TMPFS_POSIX_ACL is not set |
1093 | CONFIG_HUGETLBFS=y | 1192 | CONFIG_HUGETLBFS=y |
1094 | CONFIG_HUGETLB_PAGE=y | 1193 | CONFIG_HUGETLB_PAGE=y |
1095 | # CONFIG_CONFIGFS_FS is not set | 1194 | # CONFIG_CONFIGFS_FS is not set |
1096 | 1195 | CONFIG_MISC_FILESYSTEMS=y | |
1097 | # | ||
1098 | # Miscellaneous filesystems | ||
1099 | # | ||
1100 | # CONFIG_ADFS_FS is not set | 1196 | # CONFIG_ADFS_FS is not set |
1101 | # CONFIG_AFFS_FS is not set | 1197 | # CONFIG_AFFS_FS is not set |
1102 | # CONFIG_HFS_FS is not set | 1198 | # CONFIG_HFS_FS is not set |
@@ -1106,6 +1202,7 @@ CONFIG_HUGETLB_PAGE=y | |||
1106 | # CONFIG_EFS_FS is not set | 1202 | # CONFIG_EFS_FS is not set |
1107 | # CONFIG_JFFS2_FS is not set | 1203 | # CONFIG_JFFS2_FS is not set |
1108 | # CONFIG_CRAMFS is not set | 1204 | # CONFIG_CRAMFS is not set |
1205 | # CONFIG_SQUASHFS is not set | ||
1109 | # CONFIG_VXFS_FS is not set | 1206 | # CONFIG_VXFS_FS is not set |
1110 | # CONFIG_MINIX_FS is not set | 1207 | # CONFIG_MINIX_FS is not set |
1111 | # CONFIG_OMFS_FS is not set | 1208 | # CONFIG_OMFS_FS is not set |
@@ -1126,6 +1223,7 @@ CONFIG_LOCKD_V4=y | |||
1126 | CONFIG_NFS_COMMON=y | 1223 | CONFIG_NFS_COMMON=y |
1127 | CONFIG_SUNRPC=y | 1224 | CONFIG_SUNRPC=y |
1128 | CONFIG_SUNRPC_GSS=y | 1225 | CONFIG_SUNRPC_GSS=y |
1226 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
1129 | CONFIG_RPCSEC_GSS_KRB5=y | 1227 | CONFIG_RPCSEC_GSS_KRB5=y |
1130 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1228 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1131 | # CONFIG_SMB_FS is not set | 1229 | # CONFIG_SMB_FS is not set |
@@ -1190,9 +1288,9 @@ CONFIG_NLS_ISO8859_1=y | |||
1190 | # Library routines | 1288 | # Library routines |
1191 | # | 1289 | # |
1192 | CONFIG_BITREVERSE=y | 1290 | CONFIG_BITREVERSE=y |
1193 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | 1291 | CONFIG_GENERIC_FIND_LAST_BIT=y |
1194 | CONFIG_CRC_CCITT=m | 1292 | CONFIG_CRC_CCITT=m |
1195 | # CONFIG_CRC16 is not set | 1293 | CONFIG_CRC16=y |
1196 | CONFIG_CRC_T10DIF=y | 1294 | CONFIG_CRC_T10DIF=y |
1197 | CONFIG_CRC_ITU_T=m | 1295 | CONFIG_CRC_ITU_T=m |
1198 | CONFIG_CRC32=y | 1296 | CONFIG_CRC32=y |
@@ -1250,27 +1348,44 @@ CONFIG_DEBUG_WRITECOUNT=y | |||
1250 | CONFIG_DEBUG_MEMORY_INIT=y | 1348 | CONFIG_DEBUG_MEMORY_INIT=y |
1251 | CONFIG_DEBUG_LIST=y | 1349 | CONFIG_DEBUG_LIST=y |
1252 | # CONFIG_DEBUG_SG is not set | 1350 | # CONFIG_DEBUG_SG is not set |
1253 | CONFIG_FRAME_POINTER=y | 1351 | # CONFIG_DEBUG_NOTIFIERS is not set |
1254 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1352 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1255 | # CONFIG_RCU_TORTURE_TEST is not set | 1353 | # CONFIG_RCU_TORTURE_TEST is not set |
1354 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1256 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1355 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1356 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1257 | # CONFIG_FAULT_INJECTION is not set | 1357 | # CONFIG_FAULT_INJECTION is not set |
1258 | # CONFIG_LATENCYTOP is not set | 1358 | # CONFIG_LATENCYTOP is not set |
1259 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1359 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1260 | CONFIG_HAVE_FTRACE=y | 1360 | CONFIG_NOP_TRACER=y |
1361 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
1261 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1362 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
1262 | # CONFIG_FTRACE is not set | 1363 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
1364 | CONFIG_RING_BUFFER=y | ||
1365 | CONFIG_TRACING=y | ||
1366 | |||
1367 | # | ||
1368 | # Tracers | ||
1369 | # | ||
1370 | # CONFIG_FUNCTION_TRACER is not set | ||
1263 | # CONFIG_IRQSOFF_TRACER is not set | 1371 | # CONFIG_IRQSOFF_TRACER is not set |
1264 | # CONFIG_SCHED_TRACER is not set | 1372 | # CONFIG_SCHED_TRACER is not set |
1265 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1373 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1374 | # CONFIG_BOOT_TRACER is not set | ||
1375 | # CONFIG_TRACE_BRANCH_PROFILING is not set | ||
1376 | # CONFIG_STACK_TRACER is not set | ||
1377 | # CONFIG_FTRACE_STARTUP_TEST is not set | ||
1378 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
1266 | # CONFIG_SAMPLES is not set | 1379 | # CONFIG_SAMPLES is not set |
1267 | CONFIG_HAVE_ARCH_KGDB=y | 1380 | CONFIG_HAVE_ARCH_KGDB=y |
1268 | # CONFIG_KGDB is not set | 1381 | # CONFIG_KGDB is not set |
1382 | CONFIG_PRINT_STACK_DEPTH=64 | ||
1269 | CONFIG_DEBUG_STACKOVERFLOW=y | 1383 | CONFIG_DEBUG_STACKOVERFLOW=y |
1270 | # CONFIG_DEBUG_STACK_USAGE is not set | 1384 | # CONFIG_DEBUG_STACK_USAGE is not set |
1271 | # CONFIG_DEBUG_PAGEALLOC is not set | 1385 | # CONFIG_DEBUG_PAGEALLOC is not set |
1272 | # CONFIG_CODE_PATCHING_SELFTEST is not set | 1386 | # CONFIG_CODE_PATCHING_SELFTEST is not set |
1273 | # CONFIG_FTR_FIXUP_SELFTEST is not set | 1387 | # CONFIG_FTR_FIXUP_SELFTEST is not set |
1388 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
1274 | # CONFIG_XMON is not set | 1389 | # CONFIG_XMON is not set |
1275 | CONFIG_IRQSTACKS=y | 1390 | CONFIG_IRQSTACKS=y |
1276 | # CONFIG_VIRQ_DEBUG is not set | 1391 | # CONFIG_VIRQ_DEBUG is not set |
@@ -1282,16 +1397,26 @@ CONFIG_IRQSTACKS=y | |||
1282 | # | 1397 | # |
1283 | # CONFIG_KEYS is not set | 1398 | # CONFIG_KEYS is not set |
1284 | # CONFIG_SECURITY is not set | 1399 | # CONFIG_SECURITY is not set |
1400 | # CONFIG_SECURITYFS is not set | ||
1285 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1401 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1286 | CONFIG_CRYPTO=y | 1402 | CONFIG_CRYPTO=y |
1287 | 1403 | ||
1288 | # | 1404 | # |
1289 | # Crypto core or helper | 1405 | # Crypto core or helper |
1290 | # | 1406 | # |
1407 | # CONFIG_CRYPTO_FIPS is not set | ||
1291 | CONFIG_CRYPTO_ALGAPI=y | 1408 | CONFIG_CRYPTO_ALGAPI=y |
1409 | CONFIG_CRYPTO_ALGAPI2=y | ||
1292 | CONFIG_CRYPTO_AEAD=m | 1410 | CONFIG_CRYPTO_AEAD=m |
1411 | CONFIG_CRYPTO_AEAD2=y | ||
1293 | CONFIG_CRYPTO_BLKCIPHER=y | 1412 | CONFIG_CRYPTO_BLKCIPHER=y |
1413 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
1414 | CONFIG_CRYPTO_HASH=y | ||
1415 | CONFIG_CRYPTO_HASH2=y | ||
1416 | CONFIG_CRYPTO_RNG=m | ||
1417 | CONFIG_CRYPTO_RNG2=y | ||
1294 | CONFIG_CRYPTO_MANAGER=y | 1418 | CONFIG_CRYPTO_MANAGER=y |
1419 | CONFIG_CRYPTO_MANAGER2=y | ||
1295 | CONFIG_CRYPTO_GF128MUL=m | 1420 | CONFIG_CRYPTO_GF128MUL=m |
1296 | # CONFIG_CRYPTO_NULL is not set | 1421 | # CONFIG_CRYPTO_NULL is not set |
1297 | # CONFIG_CRYPTO_CRYPTD is not set | 1422 | # CONFIG_CRYPTO_CRYPTD is not set |
@@ -1363,6 +1488,11 @@ CONFIG_CRYPTO_SALSA20=m | |||
1363 | # | 1488 | # |
1364 | # CONFIG_CRYPTO_DEFLATE is not set | 1489 | # CONFIG_CRYPTO_DEFLATE is not set |
1365 | CONFIG_CRYPTO_LZO=m | 1490 | CONFIG_CRYPTO_LZO=m |
1491 | |||
1492 | # | ||
1493 | # Random Number Generation | ||
1494 | # | ||
1495 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
1366 | CONFIG_CRYPTO_HW=y | 1496 | CONFIG_CRYPTO_HW=y |
1367 | # CONFIG_PPC_CLOCK is not set | 1497 | # CONFIG_PPC_CLOCK is not set |
1368 | # CONFIG_VIRTUALIZATION is not set | 1498 | # CONFIG_VIRTUALIZATION is not set |
diff --git a/arch/powerpc/include/asm/cputable.h b/arch/powerpc/include/asm/cputable.h index 4911104791c3..21172badd708 100644 --- a/arch/powerpc/include/asm/cputable.h +++ b/arch/powerpc/include/asm/cputable.h | |||
@@ -241,9 +241,11 @@ extern const char *powerpc_base_platform; | |||
241 | /* We need to mark all pages as being coherent if we're SMP or we have a | 241 | /* We need to mark all pages as being coherent if we're SMP or we have a |
242 | * 74[45]x and an MPC107 host bridge. Also 83xx and PowerQUICC II | 242 | * 74[45]x and an MPC107 host bridge. Also 83xx and PowerQUICC II |
243 | * require it for PCI "streaming/prefetch" to work properly. | 243 | * require it for PCI "streaming/prefetch" to work properly. |
244 | * This is also required by 52xx family. | ||
244 | */ | 245 | */ |
245 | #if defined(CONFIG_SMP) || defined(CONFIG_MPC10X_BRIDGE) \ | 246 | #if defined(CONFIG_SMP) || defined(CONFIG_MPC10X_BRIDGE) \ |
246 | || defined(CONFIG_PPC_83xx) || defined(CONFIG_8260) | 247 | || defined(CONFIG_PPC_83xx) || defined(CONFIG_8260) \ |
248 | || defined(CONFIG_PPC_MPC52xx) | ||
247 | #define CPU_FTR_COMMON CPU_FTR_NEED_COHERENT | 249 | #define CPU_FTR_COMMON CPU_FTR_NEED_COHERENT |
248 | #else | 250 | #else |
249 | #define CPU_FTR_COMMON 0 | 251 | #define CPU_FTR_COMMON 0 |
diff --git a/arch/powerpc/kernel/head_32.S b/arch/powerpc/kernel/head_32.S index a1c4cfd25ded..7db2e42d97a2 100644 --- a/arch/powerpc/kernel/head_32.S +++ b/arch/powerpc/kernel/head_32.S | |||
@@ -511,7 +511,7 @@ InstructionTLBMiss: | |||
511 | and r1,r1,r2 /* writable if _RW and _DIRTY */ | 511 | and r1,r1,r2 /* writable if _RW and _DIRTY */ |
512 | rlwimi r3,r3,32-1,30,30 /* _PAGE_USER -> PP msb */ | 512 | rlwimi r3,r3,32-1,30,30 /* _PAGE_USER -> PP msb */ |
513 | rlwimi r3,r3,32-1,31,31 /* _PAGE_USER -> PP lsb */ | 513 | rlwimi r3,r3,32-1,31,31 /* _PAGE_USER -> PP lsb */ |
514 | ori r1,r1,0xe14 /* clear out reserved bits and M */ | 514 | ori r1,r1,0xe04 /* clear out reserved bits */ |
515 | andc r1,r3,r1 /* PP = user? (rw&dirty? 2: 3): 0 */ | 515 | andc r1,r3,r1 /* PP = user? (rw&dirty? 2: 3): 0 */ |
516 | mtspr SPRN_RPA,r1 | 516 | mtspr SPRN_RPA,r1 |
517 | mfspr r3,SPRN_IMISS | 517 | mfspr r3,SPRN_IMISS |
@@ -585,7 +585,7 @@ DataLoadTLBMiss: | |||
585 | and r1,r1,r2 /* writable if _RW and _DIRTY */ | 585 | and r1,r1,r2 /* writable if _RW and _DIRTY */ |
586 | rlwimi r3,r3,32-1,30,30 /* _PAGE_USER -> PP msb */ | 586 | rlwimi r3,r3,32-1,30,30 /* _PAGE_USER -> PP msb */ |
587 | rlwimi r3,r3,32-1,31,31 /* _PAGE_USER -> PP lsb */ | 587 | rlwimi r3,r3,32-1,31,31 /* _PAGE_USER -> PP lsb */ |
588 | ori r1,r1,0xe14 /* clear out reserved bits and M */ | 588 | ori r1,r1,0xe04 /* clear out reserved bits */ |
589 | andc r1,r3,r1 /* PP = user? (rw&dirty? 2: 3): 0 */ | 589 | andc r1,r3,r1 /* PP = user? (rw&dirty? 2: 3): 0 */ |
590 | mtspr SPRN_RPA,r1 | 590 | mtspr SPRN_RPA,r1 |
591 | mfspr r3,SPRN_DMISS | 591 | mfspr r3,SPRN_DMISS |
@@ -653,7 +653,7 @@ DataStoreTLBMiss: | |||
653 | stw r3,0(r2) /* update PTE (accessed/dirty bits) */ | 653 | stw r3,0(r2) /* update PTE (accessed/dirty bits) */ |
654 | /* Convert linux-style PTE to low word of PPC-style PTE */ | 654 | /* Convert linux-style PTE to low word of PPC-style PTE */ |
655 | rlwimi r3,r3,32-1,30,30 /* _PAGE_USER -> PP msb */ | 655 | rlwimi r3,r3,32-1,30,30 /* _PAGE_USER -> PP msb */ |
656 | li r1,0xe15 /* clear out reserved bits and M */ | 656 | li r1,0xe05 /* clear out reserved bits & PP lsb */ |
657 | andc r1,r3,r1 /* PP = user? 2: 0 */ | 657 | andc r1,r3,r1 /* PP = user? 2: 0 */ |
658 | mtspr SPRN_RPA,r1 | 658 | mtspr SPRN_RPA,r1 |
659 | mfspr r3,SPRN_DMISS | 659 | mfspr r3,SPRN_DMISS |
diff --git a/arch/powerpc/platforms/ps3/Kconfig b/arch/powerpc/platforms/ps3/Kconfig index 920cf7a454b1..740ef56a1550 100644 --- a/arch/powerpc/platforms/ps3/Kconfig +++ b/arch/powerpc/platforms/ps3/Kconfig | |||
@@ -128,6 +128,13 @@ config PS3_FLASH | |||
128 | be disabled on the kernel command line using "ps3flash=off", to | 128 | be disabled on the kernel command line using "ps3flash=off", to |
129 | not allocate this fixed buffer. | 129 | not allocate this fixed buffer. |
130 | 130 | ||
131 | config PS3_VRAM | ||
132 | tristate "PS3 Video RAM Storage Driver" | ||
133 | depends on FB_PS3=y && BLOCK && m | ||
134 | help | ||
135 | This driver allows you to use excess PS3 video RAM as volatile | ||
136 | storage or system swap. | ||
137 | |||
131 | config PS3_LPM | 138 | config PS3_LPM |
132 | tristate "PS3 Logical Performance Monitor support" | 139 | tristate "PS3 Logical Performance Monitor support" |
133 | depends on PPC_PS3 | 140 | depends on PPC_PS3 |
diff --git a/arch/s390/include/asm/mman.h b/arch/s390/include/asm/mman.h index 7839767d837e..da01432e8f44 100644 --- a/arch/s390/include/asm/mman.h +++ b/arch/s390/include/asm/mman.h | |||
@@ -22,4 +22,9 @@ | |||
22 | #define MCL_CURRENT 1 /* lock all current mappings */ | 22 | #define MCL_CURRENT 1 /* lock all current mappings */ |
23 | #define MCL_FUTURE 2 /* lock all future mappings */ | 23 | #define MCL_FUTURE 2 /* lock all future mappings */ |
24 | 24 | ||
25 | #if defined(__KERNEL__) && !defined(__ASSEMBLY__) && defined(CONFIG_64BIT) | ||
26 | int s390_mmap_check(unsigned long addr, unsigned long len); | ||
27 | #define arch_mmap_check(addr,len,flags) s390_mmap_check(addr,len) | ||
28 | #endif | ||
29 | |||
25 | #endif /* __S390_MMAN_H__ */ | 30 | #endif /* __S390_MMAN_H__ */ |
diff --git a/arch/s390/include/asm/processor.h b/arch/s390/include/asm/processor.h index 066b99502e09..db4523fe38ac 100644 --- a/arch/s390/include/asm/processor.h +++ b/arch/s390/include/asm/processor.h | |||
@@ -61,7 +61,7 @@ extern void print_cpu_info(struct cpuinfo_S390 *); | |||
61 | extern int get_cpu_capability(unsigned int *); | 61 | extern int get_cpu_capability(unsigned int *); |
62 | 62 | ||
63 | /* | 63 | /* |
64 | * User space process size: 2GB for 31 bit, 4TB for 64 bit. | 64 | * User space process size: 2GB for 31 bit, 4TB or 8PT for 64 bit. |
65 | */ | 65 | */ |
66 | #ifndef __s390x__ | 66 | #ifndef __s390x__ |
67 | 67 | ||
@@ -70,8 +70,7 @@ extern int get_cpu_capability(unsigned int *); | |||
70 | 70 | ||
71 | #else /* __s390x__ */ | 71 | #else /* __s390x__ */ |
72 | 72 | ||
73 | #define TASK_SIZE_OF(tsk) (test_tsk_thread_flag(tsk,TIF_31BIT) ? \ | 73 | #define TASK_SIZE_OF(tsk) ((tsk)->mm->context.asce_limit) |
74 | (1UL << 31) : (1UL << 53)) | ||
75 | #define TASK_UNMAPPED_BASE (test_thread_flag(TIF_31BIT) ? \ | 74 | #define TASK_UNMAPPED_BASE (test_thread_flag(TIF_31BIT) ? \ |
76 | (1UL << 30) : (1UL << 41)) | 75 | (1UL << 30) : (1UL << 41)) |
77 | #define TASK_SIZE TASK_SIZE_OF(current) | 76 | #define TASK_SIZE TASK_SIZE_OF(current) |
diff --git a/arch/s390/include/asm/topology.h b/arch/s390/include/asm/topology.h index c93eb50e1d09..c979c3b56ab0 100644 --- a/arch/s390/include/asm/topology.h +++ b/arch/s390/include/asm/topology.h | |||
@@ -30,6 +30,8 @@ static inline void s390_init_cpu_topology(void) | |||
30 | }; | 30 | }; |
31 | #endif | 31 | #endif |
32 | 32 | ||
33 | #define SD_MC_INIT SD_CPU_INIT | ||
34 | |||
33 | #include <asm-generic/topology.h> | 35 | #include <asm-generic/topology.h> |
34 | 36 | ||
35 | #endif /* _ASM_S390_TOPOLOGY_H */ | 37 | #endif /* _ASM_S390_TOPOLOGY_H */ |
diff --git a/arch/s390/kernel/mcount.S b/arch/s390/kernel/mcount.S index 397d131a345f..80641224a095 100644 --- a/arch/s390/kernel/mcount.S +++ b/arch/s390/kernel/mcount.S | |||
@@ -5,6 +5,8 @@ | |||
5 | * | 5 | * |
6 | */ | 6 | */ |
7 | 7 | ||
8 | #include <asm/asm-offsets.h> | ||
9 | |||
8 | #ifndef CONFIG_64BIT | 10 | #ifndef CONFIG_64BIT |
9 | .globl _mcount | 11 | .globl _mcount |
10 | _mcount: | 12 | _mcount: |
@@ -14,7 +16,7 @@ _mcount: | |||
14 | ahi %r15,-96 | 16 | ahi %r15,-96 |
15 | l %r3,100(%r15) | 17 | l %r3,100(%r15) |
16 | la %r2,0(%r14) | 18 | la %r2,0(%r14) |
17 | st %r1,0(%r15) | 19 | st %r1,__SF_BACKCHAIN(%r15) |
18 | la %r3,0(%r3) | 20 | la %r3,0(%r3) |
19 | bras %r14,0f | 21 | bras %r14,0f |
20 | .long ftrace_trace_function | 22 | .long ftrace_trace_function |
@@ -38,7 +40,7 @@ _mcount: | |||
38 | stg %r14,112(%r15) | 40 | stg %r14,112(%r15) |
39 | lgr %r1,%r15 | 41 | lgr %r1,%r15 |
40 | aghi %r15,-160 | 42 | aghi %r15,-160 |
41 | stg %r1,0(%r15) | 43 | stg %r1,__SF_BACKCHAIN(%r15) |
42 | lgr %r2,%r14 | 44 | lgr %r2,%r14 |
43 | lg %r3,168(%r15) | 45 | lg %r3,168(%r15) |
44 | larl %r14,ftrace_trace_function | 46 | larl %r14,ftrace_trace_function |
diff --git a/arch/s390/lib/div64.c b/arch/s390/lib/div64.c index a5f8300bf3ee..d9e62c0b576a 100644 --- a/arch/s390/lib/div64.c +++ b/arch/s390/lib/div64.c | |||
@@ -61,7 +61,7 @@ static uint32_t __div64_31(uint64_t *n, uint32_t base) | |||
61 | " clr %0,%3\n" | 61 | " clr %0,%3\n" |
62 | " jl 0f\n" | 62 | " jl 0f\n" |
63 | " slr %0,%3\n" | 63 | " slr %0,%3\n" |
64 | " alr %1,%2\n" | 64 | " ahi %1,1\n" |
65 | "0:\n" | 65 | "0:\n" |
66 | : "+d" (reg2), "+d" (reg3), "=d" (tmp) | 66 | : "+d" (reg2), "+d" (reg3), "=d" (tmp) |
67 | : "d" (base), "2" (1UL) : "cc" ); | 67 | : "d" (base), "2" (1UL) : "cc" ); |
diff --git a/arch/s390/lib/uaccess_pt.c b/arch/s390/lib/uaccess_pt.c index d66215b0fde9..b0b84c35b0ad 100644 --- a/arch/s390/lib/uaccess_pt.c +++ b/arch/s390/lib/uaccess_pt.c | |||
@@ -119,8 +119,6 @@ retry: | |||
119 | goto fault; | 119 | goto fault; |
120 | 120 | ||
121 | pfn = pte_pfn(*pte); | 121 | pfn = pte_pfn(*pte); |
122 | if (!pfn_valid(pfn)) | ||
123 | goto out; | ||
124 | 122 | ||
125 | offset = uaddr & (PAGE_SIZE - 1); | 123 | offset = uaddr & (PAGE_SIZE - 1); |
126 | size = min(n - done, PAGE_SIZE - offset); | 124 | size = min(n - done, PAGE_SIZE - offset); |
@@ -135,7 +133,6 @@ retry: | |||
135 | done += size; | 133 | done += size; |
136 | uaddr += size; | 134 | uaddr += size; |
137 | } while (done < n); | 135 | } while (done < n); |
138 | out: | ||
139 | spin_unlock(&mm->page_table_lock); | 136 | spin_unlock(&mm->page_table_lock); |
140 | return n - done; | 137 | return n - done; |
141 | fault: | 138 | fault: |
@@ -163,9 +160,6 @@ retry: | |||
163 | goto fault; | 160 | goto fault; |
164 | 161 | ||
165 | pfn = pte_pfn(*pte); | 162 | pfn = pte_pfn(*pte); |
166 | if (!pfn_valid(pfn)) | ||
167 | goto out; | ||
168 | |||
169 | ret = (pfn << PAGE_SHIFT) + (uaddr & (PAGE_SIZE - 1)); | 163 | ret = (pfn << PAGE_SHIFT) + (uaddr & (PAGE_SIZE - 1)); |
170 | out: | 164 | out: |
171 | return ret; | 165 | return ret; |
@@ -244,11 +238,6 @@ retry: | |||
244 | goto fault; | 238 | goto fault; |
245 | 239 | ||
246 | pfn = pte_pfn(*pte); | 240 | pfn = pte_pfn(*pte); |
247 | if (!pfn_valid(pfn)) { | ||
248 | done = -1; | ||
249 | goto out; | ||
250 | } | ||
251 | |||
252 | offset = uaddr & (PAGE_SIZE-1); | 241 | offset = uaddr & (PAGE_SIZE-1); |
253 | addr = (char *)(pfn << PAGE_SHIFT) + offset; | 242 | addr = (char *)(pfn << PAGE_SHIFT) + offset; |
254 | len = min(count - done, PAGE_SIZE - offset); | 243 | len = min(count - done, PAGE_SIZE - offset); |
@@ -256,7 +245,6 @@ retry: | |||
256 | done += len_str; | 245 | done += len_str; |
257 | uaddr += len_str; | 246 | uaddr += len_str; |
258 | } while ((len_str == len) && (done < count)); | 247 | } while ((len_str == len) && (done < count)); |
259 | out: | ||
260 | spin_unlock(&mm->page_table_lock); | 248 | spin_unlock(&mm->page_table_lock); |
261 | return done + 1; | 249 | return done + 1; |
262 | fault: | 250 | fault: |
@@ -325,12 +313,7 @@ retry: | |||
325 | } | 313 | } |
326 | 314 | ||
327 | pfn_from = pte_pfn(*pte_from); | 315 | pfn_from = pte_pfn(*pte_from); |
328 | if (!pfn_valid(pfn_from)) | ||
329 | goto out; | ||
330 | pfn_to = pte_pfn(*pte_to); | 316 | pfn_to = pte_pfn(*pte_to); |
331 | if (!pfn_valid(pfn_to)) | ||
332 | goto out; | ||
333 | |||
334 | offset_from = uaddr_from & (PAGE_SIZE-1); | 317 | offset_from = uaddr_from & (PAGE_SIZE-1); |
335 | offset_to = uaddr_from & (PAGE_SIZE-1); | 318 | offset_to = uaddr_from & (PAGE_SIZE-1); |
336 | offset_max = max(offset_from, offset_to); | 319 | offset_max = max(offset_from, offset_to); |
@@ -342,7 +325,6 @@ retry: | |||
342 | uaddr_from += size; | 325 | uaddr_from += size; |
343 | uaddr_to += size; | 326 | uaddr_to += size; |
344 | } while (done < n); | 327 | } while (done < n); |
345 | out: | ||
346 | spin_unlock(&mm->page_table_lock); | 328 | spin_unlock(&mm->page_table_lock); |
347 | return n - done; | 329 | return n - done; |
348 | fault: | 330 | fault: |
diff --git a/arch/s390/mm/mmap.c b/arch/s390/mm/mmap.c index 5932a824547a..e008d236cc15 100644 --- a/arch/s390/mm/mmap.c +++ b/arch/s390/mm/mmap.c | |||
@@ -35,7 +35,7 @@ | |||
35 | * Leave an at least ~128 MB hole. | 35 | * Leave an at least ~128 MB hole. |
36 | */ | 36 | */ |
37 | #define MIN_GAP (128*1024*1024) | 37 | #define MIN_GAP (128*1024*1024) |
38 | #define MAX_GAP (TASK_SIZE/6*5) | 38 | #define MAX_GAP (STACK_TOP/6*5) |
39 | 39 | ||
40 | static inline unsigned long mmap_base(void) | 40 | static inline unsigned long mmap_base(void) |
41 | { | 41 | { |
@@ -46,7 +46,7 @@ static inline unsigned long mmap_base(void) | |||
46 | else if (gap > MAX_GAP) | 46 | else if (gap > MAX_GAP) |
47 | gap = MAX_GAP; | 47 | gap = MAX_GAP; |
48 | 48 | ||
49 | return TASK_SIZE - (gap & PAGE_MASK); | 49 | return STACK_TOP - (gap & PAGE_MASK); |
50 | } | 50 | } |
51 | 51 | ||
52 | static inline int mmap_is_legacy(void) | 52 | static inline int mmap_is_legacy(void) |
@@ -89,42 +89,58 @@ EXPORT_SYMBOL_GPL(arch_pick_mmap_layout); | |||
89 | 89 | ||
90 | #else | 90 | #else |
91 | 91 | ||
92 | int s390_mmap_check(unsigned long addr, unsigned long len) | ||
93 | { | ||
94 | if (!test_thread_flag(TIF_31BIT) && | ||
95 | len >= TASK_SIZE && TASK_SIZE < (1UL << 53)) | ||
96 | return crst_table_upgrade(current->mm, 1UL << 53); | ||
97 | return 0; | ||
98 | } | ||
99 | |||
92 | static unsigned long | 100 | static unsigned long |
93 | s390_get_unmapped_area(struct file *filp, unsigned long addr, | 101 | s390_get_unmapped_area(struct file *filp, unsigned long addr, |
94 | unsigned long len, unsigned long pgoff, unsigned long flags) | 102 | unsigned long len, unsigned long pgoff, unsigned long flags) |
95 | { | 103 | { |
96 | struct mm_struct *mm = current->mm; | 104 | struct mm_struct *mm = current->mm; |
105 | unsigned long area; | ||
97 | int rc; | 106 | int rc; |
98 | 107 | ||
99 | addr = arch_get_unmapped_area(filp, addr, len, pgoff, flags); | 108 | area = arch_get_unmapped_area(filp, addr, len, pgoff, flags); |
100 | if (addr & ~PAGE_MASK) | 109 | if (!(area & ~PAGE_MASK)) |
101 | return addr; | 110 | return area; |
102 | if (unlikely(mm->context.asce_limit < addr + len)) { | 111 | if (area == -ENOMEM && |
103 | rc = crst_table_upgrade(mm, addr + len); | 112 | !test_thread_flag(TIF_31BIT) && TASK_SIZE < (1UL << 53)) { |
113 | /* Upgrade the page table to 4 levels and retry. */ | ||
114 | rc = crst_table_upgrade(mm, 1UL << 53); | ||
104 | if (rc) | 115 | if (rc) |
105 | return (unsigned long) rc; | 116 | return (unsigned long) rc; |
117 | area = arch_get_unmapped_area(filp, addr, len, pgoff, flags); | ||
106 | } | 118 | } |
107 | return addr; | 119 | return area; |
108 | } | 120 | } |
109 | 121 | ||
110 | static unsigned long | 122 | static unsigned long |
111 | s390_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, | 123 | s390_get_unmapped_area_topdown(struct file *filp, const unsigned long addr, |
112 | const unsigned long len, const unsigned long pgoff, | 124 | const unsigned long len, const unsigned long pgoff, |
113 | const unsigned long flags) | 125 | const unsigned long flags) |
114 | { | 126 | { |
115 | struct mm_struct *mm = current->mm; | 127 | struct mm_struct *mm = current->mm; |
116 | unsigned long addr = addr0; | 128 | unsigned long area; |
117 | int rc; | 129 | int rc; |
118 | 130 | ||
119 | addr = arch_get_unmapped_area_topdown(filp, addr, len, pgoff, flags); | 131 | area = arch_get_unmapped_area_topdown(filp, addr, len, pgoff, flags); |
120 | if (addr & ~PAGE_MASK) | 132 | if (!(area & ~PAGE_MASK)) |
121 | return addr; | 133 | return area; |
122 | if (unlikely(mm->context.asce_limit < addr + len)) { | 134 | if (area == -ENOMEM && |
123 | rc = crst_table_upgrade(mm, addr + len); | 135 | !test_thread_flag(TIF_31BIT) && TASK_SIZE < (1UL << 53)) { |
136 | /* Upgrade the page table to 4 levels and retry. */ | ||
137 | rc = crst_table_upgrade(mm, 1UL << 53); | ||
124 | if (rc) | 138 | if (rc) |
125 | return (unsigned long) rc; | 139 | return (unsigned long) rc; |
140 | area = arch_get_unmapped_area_topdown(filp, addr, len, | ||
141 | pgoff, flags); | ||
126 | } | 142 | } |
127 | return addr; | 143 | return area; |
128 | } | 144 | } |
129 | /* | 145 | /* |
130 | * This function, called very early during the creation of a new | 146 | * This function, called very early during the creation of a new |
diff --git a/arch/s390/mm/pgtable.c b/arch/s390/mm/pgtable.c index 0767827540b1..6b6ddc4ea02b 100644 --- a/arch/s390/mm/pgtable.c +++ b/arch/s390/mm/pgtable.c | |||
@@ -117,6 +117,7 @@ repeat: | |||
117 | crst_table_init(table, entry); | 117 | crst_table_init(table, entry); |
118 | pgd_populate(mm, (pgd_t *) table, (pud_t *) pgd); | 118 | pgd_populate(mm, (pgd_t *) table, (pud_t *) pgd); |
119 | mm->pgd = (pgd_t *) table; | 119 | mm->pgd = (pgd_t *) table; |
120 | mm->task_size = mm->context.asce_limit; | ||
120 | table = NULL; | 121 | table = NULL; |
121 | } | 122 | } |
122 | spin_unlock(&mm->page_table_lock); | 123 | spin_unlock(&mm->page_table_lock); |
@@ -154,6 +155,7 @@ void crst_table_downgrade(struct mm_struct *mm, unsigned long limit) | |||
154 | BUG(); | 155 | BUG(); |
155 | } | 156 | } |
156 | mm->pgd = (pgd_t *) (pgd_val(*pgd) & _REGION_ENTRY_ORIGIN); | 157 | mm->pgd = (pgd_t *) (pgd_val(*pgd) & _REGION_ENTRY_ORIGIN); |
158 | mm->task_size = mm->context.asce_limit; | ||
157 | crst_table_free(mm, (unsigned long *) pgd); | 159 | crst_table_free(mm, (unsigned long *) pgd); |
158 | } | 160 | } |
159 | update_mm(mm, current); | 161 | update_mm(mm, current); |
diff --git a/arch/x86/boot/video-vga.c b/arch/x86/boot/video-vga.c index 5d4742ed4aa2..95d86ce0421c 100644 --- a/arch/x86/boot/video-vga.c +++ b/arch/x86/boot/video-vga.c | |||
@@ -129,41 +129,45 @@ u16 vga_crtc(void) | |||
129 | return (inb(0x3cc) & 1) ? 0x3d4 : 0x3b4; | 129 | return (inb(0x3cc) & 1) ? 0x3d4 : 0x3b4; |
130 | } | 130 | } |
131 | 131 | ||
132 | static void vga_set_480_scanlines(int end) | 132 | static void vga_set_480_scanlines(int lines) |
133 | { | 133 | { |
134 | u16 crtc; | 134 | u16 crtc; /* CRTC base address */ |
135 | u8 csel; | 135 | u8 csel; /* CRTC miscellaneous output register */ |
136 | u8 ovfw; /* CRTC overflow register */ | ||
137 | int end = lines-1; | ||
136 | 138 | ||
137 | crtc = vga_crtc(); | 139 | crtc = vga_crtc(); |
138 | 140 | ||
141 | ovfw = 0x3c | ((end >> (8-1)) & 0x02) | ((end >> (9-6)) & 0x40); | ||
142 | |||
139 | out_idx(0x0c, crtc, 0x11); /* Vertical sync end, unlock CR0-7 */ | 143 | out_idx(0x0c, crtc, 0x11); /* Vertical sync end, unlock CR0-7 */ |
140 | out_idx(0x0b, crtc, 0x06); /* Vertical total */ | 144 | out_idx(0x0b, crtc, 0x06); /* Vertical total */ |
141 | out_idx(0x3e, crtc, 0x07); /* Vertical overflow */ | 145 | out_idx(ovfw, crtc, 0x07); /* Vertical overflow */ |
142 | out_idx(0xea, crtc, 0x10); /* Vertical sync start */ | 146 | out_idx(0xea, crtc, 0x10); /* Vertical sync start */ |
143 | out_idx(end, crtc, 0x12); /* Vertical display end */ | 147 | out_idx(end, crtc, 0x12); /* Vertical display end */ |
144 | out_idx(0xe7, crtc, 0x15); /* Vertical blank start */ | 148 | out_idx(0xe7, crtc, 0x15); /* Vertical blank start */ |
145 | out_idx(0x04, crtc, 0x16); /* Vertical blank end */ | 149 | out_idx(0x04, crtc, 0x16); /* Vertical blank end */ |
146 | csel = inb(0x3cc); | 150 | csel = inb(0x3cc); |
147 | csel &= 0x0d; | 151 | csel &= 0x0d; |
148 | csel |= 0xe2; | 152 | csel |= 0xe2; |
149 | outb(csel, 0x3cc); | 153 | outb(csel, 0x3c2); |
150 | } | 154 | } |
151 | 155 | ||
152 | static void vga_set_80x30(void) | 156 | static void vga_set_80x30(void) |
153 | { | 157 | { |
154 | vga_set_480_scanlines(0xdf); | 158 | vga_set_480_scanlines(30*16); |
155 | } | 159 | } |
156 | 160 | ||
157 | static void vga_set_80x34(void) | 161 | static void vga_set_80x34(void) |
158 | { | 162 | { |
159 | vga_set_14font(); | 163 | vga_set_14font(); |
160 | vga_set_480_scanlines(0xdb); | 164 | vga_set_480_scanlines(34*14); |
161 | } | 165 | } |
162 | 166 | ||
163 | static void vga_set_80x60(void) | 167 | static void vga_set_80x60(void) |
164 | { | 168 | { |
165 | vga_set_8font(); | 169 | vga_set_8font(); |
166 | vga_set_480_scanlines(0xdf); | 170 | vga_set_480_scanlines(60*8); |
167 | } | 171 | } |
168 | 172 | ||
169 | static int vga_set_mode(struct mode_info *mode) | 173 | static int vga_set_mode(struct mode_info *mode) |
diff --git a/arch/x86/kernel/kprobes.c b/arch/x86/kernel/kprobes.c index 4558dd3918cf..55b94614e348 100644 --- a/arch/x86/kernel/kprobes.c +++ b/arch/x86/kernel/kprobes.c | |||
@@ -193,7 +193,7 @@ static int __kprobes can_boost(kprobe_opcode_t *opcodes) | |||
193 | kprobe_opcode_t opcode; | 193 | kprobe_opcode_t opcode; |
194 | kprobe_opcode_t *orig_opcodes = opcodes; | 194 | kprobe_opcode_t *orig_opcodes = opcodes; |
195 | 195 | ||
196 | if (search_exception_tables(opcodes)) | 196 | if (search_exception_tables((unsigned long)opcodes)) |
197 | return 0; /* Page fault may occur on this address. */ | 197 | return 0; /* Page fault may occur on this address. */ |
198 | 198 | ||
199 | retry: | 199 | retry: |
diff --git a/arch/x86/kernel/mpparse.c b/arch/x86/kernel/mpparse.c index 47673e02ae58..290cb57f4697 100644 --- a/arch/x86/kernel/mpparse.c +++ b/arch/x86/kernel/mpparse.c | |||
@@ -109,9 +109,6 @@ static void __init MP_bus_info(struct mpc_bus *m) | |||
109 | } else | 109 | } else |
110 | printk(KERN_WARNING "Unknown bustype %s - ignoring\n", str); | 110 | printk(KERN_WARNING "Unknown bustype %s - ignoring\n", str); |
111 | } | 111 | } |
112 | #endif | ||
113 | |||
114 | #ifdef CONFIG_X86_IO_APIC | ||
115 | 112 | ||
116 | static int bad_ioapic(unsigned long address) | 113 | static int bad_ioapic(unsigned long address) |
117 | { | 114 | { |
@@ -224,8 +221,12 @@ static void __init MP_intsrc_info(struct mpc_intsrc *m) | |||
224 | if (++mp_irq_entries == MAX_IRQ_SOURCES) | 221 | if (++mp_irq_entries == MAX_IRQ_SOURCES) |
225 | panic("Max # of irq sources exceeded!!\n"); | 222 | panic("Max # of irq sources exceeded!!\n"); |
226 | } | 223 | } |
224 | #else /* CONFIG_X86_IO_APIC */ | ||
225 | static inline void __init MP_bus_info(struct mpc_bus *m) {} | ||
226 | static inline void __init MP_ioapic_info(struct mpc_ioapic *m) {} | ||
227 | static inline void __init MP_intsrc_info(struct mpc_intsrc *m) {} | ||
228 | #endif /* CONFIG_X86_IO_APIC */ | ||
227 | 229 | ||
228 | #endif | ||
229 | 230 | ||
230 | static void __init MP_lintsrc_info(struct mpc_lintsrc *m) | 231 | static void __init MP_lintsrc_info(struct mpc_lintsrc *m) |
231 | { | 232 | { |
@@ -275,6 +276,12 @@ static int __init smp_check_mpc(struct mpc_table *mpc, char *oem, char *str) | |||
275 | return 1; | 276 | return 1; |
276 | } | 277 | } |
277 | 278 | ||
279 | static void skip_entry(unsigned char **ptr, int *count, int size) | ||
280 | { | ||
281 | *ptr += size; | ||
282 | *count += size; | ||
283 | } | ||
284 | |||
278 | static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early) | 285 | static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early) |
279 | { | 286 | { |
280 | char str[16]; | 287 | char str[16]; |
@@ -310,55 +317,27 @@ static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early) | |||
310 | while (count < mpc->length) { | 317 | while (count < mpc->length) { |
311 | switch (*mpt) { | 318 | switch (*mpt) { |
312 | case MP_PROCESSOR: | 319 | case MP_PROCESSOR: |
313 | { | 320 | /* ACPI may have already provided this data */ |
314 | struct mpc_cpu *m = (struct mpc_cpu *)mpt; | 321 | if (!acpi_lapic) |
315 | /* ACPI may have already provided this data */ | 322 | MP_processor_info((struct mpc_cpu *)mpt); |
316 | if (!acpi_lapic) | 323 | skip_entry(&mpt, &count, sizeof(struct mpc_cpu)); |
317 | MP_processor_info(m); | 324 | break; |
318 | mpt += sizeof(*m); | ||
319 | count += sizeof(*m); | ||
320 | break; | ||
321 | } | ||
322 | case MP_BUS: | 325 | case MP_BUS: |
323 | { | 326 | MP_bus_info((struct mpc_bus *)mpt); |
324 | struct mpc_bus *m = (struct mpc_bus *)mpt; | 327 | skip_entry(&mpt, &count, sizeof(struct mpc_bus)); |
325 | #ifdef CONFIG_X86_IO_APIC | 328 | break; |
326 | MP_bus_info(m); | ||
327 | #endif | ||
328 | mpt += sizeof(*m); | ||
329 | count += sizeof(*m); | ||
330 | break; | ||
331 | } | ||
332 | case MP_IOAPIC: | 329 | case MP_IOAPIC: |
333 | { | 330 | MP_ioapic_info((struct mpc_ioapic *)mpt); |
334 | #ifdef CONFIG_X86_IO_APIC | 331 | skip_entry(&mpt, &count, sizeof(struct mpc_ioapic)); |
335 | struct mpc_ioapic *m = (struct mpc_ioapic *)mpt; | 332 | break; |
336 | MP_ioapic_info(m); | ||
337 | #endif | ||
338 | mpt += sizeof(struct mpc_ioapic); | ||
339 | count += sizeof(struct mpc_ioapic); | ||
340 | break; | ||
341 | } | ||
342 | case MP_INTSRC: | 333 | case MP_INTSRC: |
343 | { | 334 | MP_intsrc_info((struct mpc_intsrc *)mpt); |
344 | #ifdef CONFIG_X86_IO_APIC | 335 | skip_entry(&mpt, &count, sizeof(struct mpc_intsrc)); |
345 | struct mpc_intsrc *m = (struct mpc_intsrc *)mpt; | 336 | break; |
346 | |||
347 | MP_intsrc_info(m); | ||
348 | #endif | ||
349 | mpt += sizeof(struct mpc_intsrc); | ||
350 | count += sizeof(struct mpc_intsrc); | ||
351 | break; | ||
352 | } | ||
353 | case MP_LINTSRC: | 337 | case MP_LINTSRC: |
354 | { | 338 | MP_lintsrc_info((struct mpc_lintsrc *)mpt); |
355 | struct mpc_lintsrc *m = | 339 | skip_entry(&mpt, &count, sizeof(struct mpc_lintsrc)); |
356 | (struct mpc_lintsrc *)mpt; | 340 | break; |
357 | MP_lintsrc_info(m); | ||
358 | mpt += sizeof(*m); | ||
359 | count += sizeof(*m); | ||
360 | break; | ||
361 | } | ||
362 | default: | 341 | default: |
363 | /* wrong mptable */ | 342 | /* wrong mptable */ |
364 | printk(KERN_ERR "Your mptable is wrong, contact your HW vendor!\n"); | 343 | printk(KERN_ERR "Your mptable is wrong, contact your HW vendor!\n"); |
@@ -689,6 +668,31 @@ void __init get_smp_config(void) | |||
689 | __get_smp_config(0); | 668 | __get_smp_config(0); |
690 | } | 669 | } |
691 | 670 | ||
671 | static void smp_reserve_bootmem(struct mpf_intel *mpf) | ||
672 | { | ||
673 | unsigned long size = get_mpc_size(mpf->physptr); | ||
674 | #ifdef CONFIG_X86_32 | ||
675 | /* | ||
676 | * We cannot access to MPC table to compute table size yet, | ||
677 | * as only few megabytes from the bottom is mapped now. | ||
678 | * PC-9800's MPC table places on the very last of physical | ||
679 | * memory; so that simply reserving PAGE_SIZE from mpf->physptr | ||
680 | * yields BUG() in reserve_bootmem. | ||
681 | * also need to make sure physptr is below than max_low_pfn | ||
682 | * we don't need reserve the area above max_low_pfn | ||
683 | */ | ||
684 | unsigned long end = max_low_pfn * PAGE_SIZE; | ||
685 | |||
686 | if (mpf->physptr < end) { | ||
687 | if (mpf->physptr + size > end) | ||
688 | size = end - mpf->physptr; | ||
689 | reserve_bootmem_generic(mpf->physptr, size, BOOTMEM_DEFAULT); | ||
690 | } | ||
691 | #else | ||
692 | reserve_bootmem_generic(mpf->physptr, size, BOOTMEM_DEFAULT); | ||
693 | #endif | ||
694 | } | ||
695 | |||
692 | static int __init smp_scan_config(unsigned long base, unsigned long length, | 696 | static int __init smp_scan_config(unsigned long base, unsigned long length, |
693 | unsigned reserve) | 697 | unsigned reserve) |
694 | { | 698 | { |
@@ -717,35 +721,9 @@ static int __init smp_scan_config(unsigned long base, unsigned long length, | |||
717 | if (!reserve) | 721 | if (!reserve) |
718 | return 1; | 722 | return 1; |
719 | reserve_bootmem_generic(virt_to_phys(mpf), sizeof(*mpf), | 723 | reserve_bootmem_generic(virt_to_phys(mpf), sizeof(*mpf), |
720 | BOOTMEM_DEFAULT); | ||
721 | if (mpf->physptr) { | ||
722 | unsigned long size = get_mpc_size(mpf->physptr); | ||
723 | #ifdef CONFIG_X86_32 | ||
724 | /* | ||
725 | * We cannot access to MPC table to compute | ||
726 | * table size yet, as only few megabytes from | ||
727 | * the bottom is mapped now. | ||
728 | * PC-9800's MPC table places on the very last | ||
729 | * of physical memory; so that simply reserving | ||
730 | * PAGE_SIZE from mpf->physptr yields BUG() | ||
731 | * in reserve_bootmem. | ||
732 | * also need to make sure physptr is below than | ||
733 | * max_low_pfn | ||
734 | * we don't need reserve the area above max_low_pfn | ||
735 | */ | ||
736 | unsigned long end = max_low_pfn * PAGE_SIZE; | ||
737 | |||
738 | if (mpf->physptr < end) { | ||
739 | if (mpf->physptr + size > end) | ||
740 | size = end - mpf->physptr; | ||
741 | reserve_bootmem_generic(mpf->physptr, size, | ||
742 | BOOTMEM_DEFAULT); | ||
743 | } | ||
744 | #else | ||
745 | reserve_bootmem_generic(mpf->physptr, size, | ||
746 | BOOTMEM_DEFAULT); | 724 | BOOTMEM_DEFAULT); |
747 | #endif | 725 | if (mpf->physptr) |
748 | } | 726 | smp_reserve_bootmem(mpf); |
749 | 727 | ||
750 | return 1; | 728 | return 1; |
751 | } | 729 | } |
@@ -848,7 +826,57 @@ static int __init get_MP_intsrc_index(struct mpc_intsrc *m) | |||
848 | #define SPARE_SLOT_NUM 20 | 826 | #define SPARE_SLOT_NUM 20 |
849 | 827 | ||
850 | static struct mpc_intsrc __initdata *m_spare[SPARE_SLOT_NUM]; | 828 | static struct mpc_intsrc __initdata *m_spare[SPARE_SLOT_NUM]; |
851 | #endif | 829 | |
830 | static void check_irq_src(struct mpc_intsrc *m, int *nr_m_spare) | ||
831 | { | ||
832 | int i; | ||
833 | |||
834 | apic_printk(APIC_VERBOSE, "OLD "); | ||
835 | print_MP_intsrc_info(m); | ||
836 | |||
837 | i = get_MP_intsrc_index(m); | ||
838 | if (i > 0) { | ||
839 | assign_to_mpc_intsrc(&mp_irqs[i], m); | ||
840 | apic_printk(APIC_VERBOSE, "NEW "); | ||
841 | print_mp_irq_info(&mp_irqs[i]); | ||
842 | return; | ||
843 | } | ||
844 | if (!i) { | ||
845 | /* legacy, do nothing */ | ||
846 | return; | ||
847 | } | ||
848 | if (*nr_m_spare < SPARE_SLOT_NUM) { | ||
849 | /* | ||
850 | * not found (-1), or duplicated (-2) are invalid entries, | ||
851 | * we need to use the slot later | ||
852 | */ | ||
853 | m_spare[*nr_m_spare] = m; | ||
854 | *nr_m_spare += 1; | ||
855 | } | ||
856 | } | ||
857 | #else /* CONFIG_X86_IO_APIC */ | ||
858 | static inline void check_irq_src(struct mpc_intsrc *m, int *nr_m_spare) {} | ||
859 | #endif /* CONFIG_X86_IO_APIC */ | ||
860 | |||
861 | static int check_slot(unsigned long mpc_new_phys, unsigned long mpc_new_length, | ||
862 | int count) | ||
863 | { | ||
864 | if (!mpc_new_phys) { | ||
865 | pr_info("No spare slots, try to append...take your risk, " | ||
866 | "new mpc_length %x\n", count); | ||
867 | } else { | ||
868 | if (count <= mpc_new_length) | ||
869 | pr_info("No spare slots, try to append..., " | ||
870 | "new mpc_length %x\n", count); | ||
871 | else { | ||
872 | pr_err("mpc_new_length %lx is too small\n", | ||
873 | mpc_new_length); | ||
874 | return -1; | ||
875 | } | ||
876 | } | ||
877 | |||
878 | return 0; | ||
879 | } | ||
852 | 880 | ||
853 | static int __init replace_intsrc_all(struct mpc_table *mpc, | 881 | static int __init replace_intsrc_all(struct mpc_table *mpc, |
854 | unsigned long mpc_new_phys, | 882 | unsigned long mpc_new_phys, |
@@ -856,71 +884,30 @@ static int __init replace_intsrc_all(struct mpc_table *mpc, | |||
856 | { | 884 | { |
857 | #ifdef CONFIG_X86_IO_APIC | 885 | #ifdef CONFIG_X86_IO_APIC |
858 | int i; | 886 | int i; |
859 | int nr_m_spare = 0; | ||
860 | #endif | 887 | #endif |
861 | |||
862 | int count = sizeof(*mpc); | 888 | int count = sizeof(*mpc); |
889 | int nr_m_spare = 0; | ||
863 | unsigned char *mpt = ((unsigned char *)mpc) + count; | 890 | unsigned char *mpt = ((unsigned char *)mpc) + count; |
864 | 891 | ||
865 | printk(KERN_INFO "mpc_length %x\n", mpc->length); | 892 | printk(KERN_INFO "mpc_length %x\n", mpc->length); |
866 | while (count < mpc->length) { | 893 | while (count < mpc->length) { |
867 | switch (*mpt) { | 894 | switch (*mpt) { |
868 | case MP_PROCESSOR: | 895 | case MP_PROCESSOR: |
869 | { | 896 | skip_entry(&mpt, &count, sizeof(struct mpc_cpu)); |
870 | struct mpc_cpu *m = (struct mpc_cpu *)mpt; | 897 | break; |
871 | mpt += sizeof(*m); | ||
872 | count += sizeof(*m); | ||
873 | break; | ||
874 | } | ||
875 | case MP_BUS: | 898 | case MP_BUS: |
876 | { | 899 | skip_entry(&mpt, &count, sizeof(struct mpc_bus)); |
877 | struct mpc_bus *m = (struct mpc_bus *)mpt; | 900 | break; |
878 | mpt += sizeof(*m); | ||
879 | count += sizeof(*m); | ||
880 | break; | ||
881 | } | ||
882 | case MP_IOAPIC: | 901 | case MP_IOAPIC: |
883 | { | 902 | skip_entry(&mpt, &count, sizeof(struct mpc_ioapic)); |
884 | mpt += sizeof(struct mpc_ioapic); | 903 | break; |
885 | count += sizeof(struct mpc_ioapic); | ||
886 | break; | ||
887 | } | ||
888 | case MP_INTSRC: | 904 | case MP_INTSRC: |
889 | { | 905 | check_irq_src((struct mpc_intsrc *)mpt, &nr_m_spare); |
890 | #ifdef CONFIG_X86_IO_APIC | 906 | skip_entry(&mpt, &count, sizeof(struct mpc_intsrc)); |
891 | struct mpc_intsrc *m = (struct mpc_intsrc *)mpt; | 907 | break; |
892 | |||
893 | apic_printk(APIC_VERBOSE, "OLD "); | ||
894 | print_MP_intsrc_info(m); | ||
895 | i = get_MP_intsrc_index(m); | ||
896 | if (i > 0) { | ||
897 | assign_to_mpc_intsrc(&mp_irqs[i], m); | ||
898 | apic_printk(APIC_VERBOSE, "NEW "); | ||
899 | print_mp_irq_info(&mp_irqs[i]); | ||
900 | } else if (!i) { | ||
901 | /* legacy, do nothing */ | ||
902 | } else if (nr_m_spare < SPARE_SLOT_NUM) { | ||
903 | /* | ||
904 | * not found (-1), or duplicated (-2) | ||
905 | * are invalid entries, | ||
906 | * we need to use the slot later | ||
907 | */ | ||
908 | m_spare[nr_m_spare] = m; | ||
909 | nr_m_spare++; | ||
910 | } | ||
911 | #endif | ||
912 | mpt += sizeof(struct mpc_intsrc); | ||
913 | count += sizeof(struct mpc_intsrc); | ||
914 | break; | ||
915 | } | ||
916 | case MP_LINTSRC: | 908 | case MP_LINTSRC: |
917 | { | 909 | skip_entry(&mpt, &count, sizeof(struct mpc_lintsrc)); |
918 | struct mpc_lintsrc *m = | 910 | break; |
919 | (struct mpc_lintsrc *)mpt; | ||
920 | mpt += sizeof(*m); | ||
921 | count += sizeof(*m); | ||
922 | break; | ||
923 | } | ||
924 | default: | 911 | default: |
925 | /* wrong mptable */ | 912 | /* wrong mptable */ |
926 | printk(KERN_ERR "Your mptable is wrong, contact your HW vendor!\n"); | 913 | printk(KERN_ERR "Your mptable is wrong, contact your HW vendor!\n"); |
@@ -950,16 +937,8 @@ static int __init replace_intsrc_all(struct mpc_table *mpc, | |||
950 | } else { | 937 | } else { |
951 | struct mpc_intsrc *m = (struct mpc_intsrc *)mpt; | 938 | struct mpc_intsrc *m = (struct mpc_intsrc *)mpt; |
952 | count += sizeof(struct mpc_intsrc); | 939 | count += sizeof(struct mpc_intsrc); |
953 | if (!mpc_new_phys) { | 940 | if (!check_slot(mpc_new_phys, mpc_new_length, count)) |
954 | printk(KERN_INFO "No spare slots, try to append...take your risk, new mpc_length %x\n", count); | 941 | goto out; |
955 | } else { | ||
956 | if (count <= mpc_new_length) | ||
957 | printk(KERN_INFO "No spare slots, try to append..., new mpc_length %x\n", count); | ||
958 | else { | ||
959 | printk(KERN_ERR "mpc_new_length %lx is too small\n", mpc_new_length); | ||
960 | goto out; | ||
961 | } | ||
962 | } | ||
963 | assign_to_mpc_intsrc(&mp_irqs[i], m); | 942 | assign_to_mpc_intsrc(&mp_irqs[i], m); |
964 | mpc->length = count; | 943 | mpc->length = count; |
965 | mpt += sizeof(struct mpc_intsrc); | 944 | mpt += sizeof(struct mpc_intsrc); |