aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/configs/ps3_defconfig250
-rw-r--r--arch/powerpc/include/asm/cputable.h4
-rw-r--r--arch/powerpc/kernel/head_32.S6
-rw-r--r--arch/powerpc/platforms/ps3/Kconfig7
-rw-r--r--arch/s390/include/asm/mman.h5
-rw-r--r--arch/s390/include/asm/processor.h5
-rw-r--r--arch/s390/include/asm/topology.h2
-rw-r--r--arch/s390/kernel/mcount.S6
-rw-r--r--arch/s390/lib/div64.c2
-rw-r--r--arch/s390/lib/uaccess_pt.c18
-rw-r--r--arch/s390/mm/mmap.c48
-rw-r--r--arch/s390/mm/pgtable.c2
-rw-r--r--arch/x86/boot/video-vga.c22
-rw-r--r--arch/x86/kernel/kprobes.c2
-rw-r--r--arch/x86/kernel/mpparse.c261
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#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -16,13 +16,14 @@ CONFIG_PPC_FPU=y
16CONFIG_ALTIVEC=y 16CONFIG_ALTIVEC=y
17# CONFIG_VSX is not set 17# CONFIG_VSX is not set
18CONFIG_PPC_STD_MMU=y 18CONFIG_PPC_STD_MMU=y
19CONFIG_PPC_STD_MMU_64=y
19CONFIG_PPC_MM_SLICES=y 20CONFIG_PPC_MM_SLICES=y
20CONFIG_VIRT_CPU_ACCOUNTING=y 21CONFIG_VIRT_CPU_ACCOUNTING=y
21CONFIG_SMP=y 22CONFIG_SMP=y
22CONFIG_NR_CPUS=2 23CONFIG_NR_CPUS=2
23CONFIG_64BIT=y 24CONFIG_64BIT=y
24CONFIG_WORD_SIZE=64 25CONFIG_WORD_SIZE=64
25CONFIG_PPC_MERGE=y 26CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
26CONFIG_MMU=y 27CONFIG_MMU=y
27CONFIG_GENERIC_CMOS_UPDATE=y 28CONFIG_GENERIC_CMOS_UPDATE=y
28CONFIG_GENERIC_TIME=y 29CONFIG_GENERIC_TIME=y
@@ -46,7 +47,7 @@ CONFIG_PPC=y
46CONFIG_EARLY_PRINTK=y 47CONFIG_EARLY_PRINTK=y
47CONFIG_COMPAT=y 48CONFIG_COMPAT=y
48CONFIG_SYSVIPC_COMPAT=y 49CONFIG_SYSVIPC_COMPAT=y
49CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 50CONFIG_SCHED_OMIT_FRAME_POINTER=y
50CONFIG_ARCH_MAY_HAVE_PC_FDC=y 51CONFIG_ARCH_MAY_HAVE_PC_FDC=y
51CONFIG_PPC_OF=y 52CONFIG_PPC_OF=y
52CONFIG_OF=y 53CONFIG_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#
82CONFIG_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
78CONFIG_LOG_BUF_SHIFT=17 88CONFIG_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
81CONFIG_SYSFS_DEPRECATED=y 91CONFIG_SYSFS_DEPRECATED=y
82CONFIG_SYSFS_DEPRECATED_V2=y 92CONFIG_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
89CONFIG_BLK_DEV_INITRD=y 100CONFIG_BLK_DEV_INITRD=y
90CONFIG_INITRAMFS_SOURCE="" 101CONFIG_INITRAMFS_SOURCE=""
91CONFIG_CC_OPTIMIZE_FOR_SIZE=y 102CONFIG_CC_OPTIMIZE_FOR_SIZE=y
92CONFIG_SYSCTL=y 103CONFIG_SYSCTL=y
93# CONFIG_EMBEDDED is not set 104CONFIG_ANON_INODES=y
105CONFIG_EMBEDDED=y
94CONFIG_SYSCTL_SYSCALL=y 106CONFIG_SYSCTL_SYSCALL=y
95CONFIG_KALLSYMS=y 107CONFIG_KALLSYMS=y
96CONFIG_KALLSYMS_ALL=y 108CONFIG_KALLSYMS_ALL=y
@@ -99,37 +111,36 @@ CONFIG_HOTPLUG=y
99CONFIG_PRINTK=y 111CONFIG_PRINTK=y
100CONFIG_BUG=y 112CONFIG_BUG=y
101CONFIG_ELF_CORE=y 113CONFIG_ELF_CORE=y
102# CONFIG_COMPAT_BRK is not set
103CONFIG_BASE_FULL=y 114CONFIG_BASE_FULL=y
104CONFIG_FUTEX=y 115CONFIG_FUTEX=y
105CONFIG_ANON_INODES=y
106CONFIG_EPOLL=y 116CONFIG_EPOLL=y
107CONFIG_SIGNALFD=y 117CONFIG_SIGNALFD=y
108CONFIG_TIMERFD=y 118CONFIG_TIMERFD=y
109CONFIG_EVENTFD=y 119CONFIG_EVENTFD=y
110CONFIG_SHMEM=y 120CONFIG_SHMEM=y
121CONFIG_AIO=y
111CONFIG_VM_EVENT_COUNTERS=y 122CONFIG_VM_EVENT_COUNTERS=y
123# CONFIG_COMPAT_BRK is not set
112CONFIG_SLAB=y 124CONFIG_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
115CONFIG_PROFILING=y 127CONFIG_PROFILING=y
116# CONFIG_MARKERS is not set 128CONFIG_TRACEPOINTS=y
129CONFIG_MARKERS=y
117CONFIG_OPROFILE=m 130CONFIG_OPROFILE=m
118CONFIG_HAVE_OPROFILE=y 131CONFIG_HAVE_OPROFILE=y
119# CONFIG_KPROBES is not set 132# CONFIG_KPROBES is not set
120CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y 133CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
134CONFIG_HAVE_SYSCALL_WRAPPERS=y
121CONFIG_HAVE_IOREMAP_PROT=y 135CONFIG_HAVE_IOREMAP_PROT=y
122CONFIG_HAVE_KPROBES=y 136CONFIG_HAVE_KPROBES=y
123CONFIG_HAVE_KRETPROBES=y 137CONFIG_HAVE_KRETPROBES=y
124CONFIG_HAVE_ARCH_TRACEHOOK=y 138CONFIG_HAVE_ARCH_TRACEHOOK=y
125CONFIG_HAVE_DMA_ATTRS=y 139CONFIG_HAVE_DMA_ATTRS=y
126CONFIG_USE_GENERIC_SMP_HELPERS=y 140CONFIG_USE_GENERIC_SMP_HELPERS=y
127# CONFIG_HAVE_CLK is not set
128CONFIG_PROC_PAGE_MONITOR=y
129# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set 141# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
130CONFIG_SLABINFO=y 142CONFIG_SLABINFO=y
131CONFIG_RT_MUTEXES=y 143CONFIG_RT_MUTEXES=y
132# CONFIG_TINY_SHMEM is not set
133CONFIG_BASE_SMALL=0 144CONFIG_BASE_SMALL=0
134CONFIG_MODULES=y 145CONFIG_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
140CONFIG_KMOD=y
141CONFIG_STOP_MACHINE=y 151CONFIG_STOP_MACHINE=y
142CONFIG_BLOCK=y 152CONFIG_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
159CONFIG_DEFAULT_IOSCHED="anticipatory" 169CONFIG_DEFAULT_IOSCHED="anticipatory"
160CONFIG_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
183CONFIG_PS3_DISK=y 193CONFIG_PS3_DISK=y
184CONFIG_PS3_ROM=y 194CONFIG_PS3_ROM=y
185CONFIG_PS3_FLASH=y 195CONFIG_PS3_FLASH=y
186CONFIG_OPROFILE_PS3=y 196CONFIG_PS3_VRAM=m
187CONFIG_PS3_LPM=m 197CONFIG_PS3_LPM=m
188CONFIG_PPC_CELL=y 198CONFIG_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#
196CONFIG_SPU_FS=y 207CONFIG_SPU_FS=y
197CONFIG_SPU_FS_64K_LS=y 208CONFIG_SPU_FS_64K_LS=y
209# CONFIG_SPU_TRACE is not set
198CONFIG_SPU_BASE=y 210CONFIG_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
230CONFIG_BINFMT_ELF=y 243CONFIG_BINFMT_ELF=y
231CONFIG_COMPAT_BINFMT_ELF=y 244CONFIG_COMPAT_BINFMT_ELF=y
245# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
246# CONFIG_HAVE_AOUT is not set
232CONFIG_BINFMT_MISC=y 247CONFIG_BINFMT_MISC=y
233CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y 248CONFIG_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
251CONFIG_SPARSEMEM_MANUAL=y 266CONFIG_SPARSEMEM_MANUAL=y
252CONFIG_SPARSEMEM=y 267CONFIG_SPARSEMEM=y
253CONFIG_HAVE_MEMORY_PRESENT=y 268CONFIG_HAVE_MEMORY_PRESENT=y
254# CONFIG_SPARSEMEM_STATIC is not set
255CONFIG_SPARSEMEM_EXTREME=y 269CONFIG_SPARSEMEM_EXTREME=y
256CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y 270CONFIG_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
261CONFIG_PAGEFLAGS_EXTENDED=y 275CONFIG_PAGEFLAGS_EXTENDED=y
262CONFIG_SPLIT_PTLOCK_CPUS=4 276CONFIG_SPLIT_PTLOCK_CPUS=4
263CONFIG_MIGRATION=y 277CONFIG_MIGRATION=y
264CONFIG_RESOURCES_64BIT=y 278CONFIG_PHYS_ADDR_T_64BIT=y
265CONFIG_ZONE_DMA_FLAG=1 279CONFIG_ZONE_DMA_FLAG=1
266CONFIG_BOUNCE=y 280CONFIG_BOUNCE=y
281CONFIG_UNEVICTABLE_LRU=y
267CONFIG_ARCH_MEMORY_PROBE=y 282CONFIG_ARCH_MEMORY_PROBE=y
268CONFIG_PPC_HAS_HASH_64K=y 283CONFIG_PPC_HAS_HASH_64K=y
284CONFIG_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
270CONFIG_FORCE_MAX_ZONEORDER=13 287CONFIG_FORCE_MAX_ZONEORDER=13
271CONFIG_SCHED_SMT=y 288CONFIG_SCHED_SMT=y
@@ -299,6 +316,7 @@ CONFIG_NET=y
299# 316#
300# Networking options 317# Networking options
301# 318#
319CONFIG_COMPAT_NET_DEV_OPS=y
302CONFIG_PACKET=y 320CONFIG_PACKET=y
303CONFIG_PACKET_MMAP=y 321CONFIG_PACKET_MMAP=y
304CONFIG_UNIX=y 322CONFIG_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#
395CONFIG_BT_HCIUSB=m 415CONFIG_BT_HCIBTUSB=m
396CONFIG_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# 423CONFIG_WIRELESS=y
405# Wireless
406#
407CONFIG_CFG80211=m 424CONFIG_CFG80211=m
425# CONFIG_CFG80211_REG_DEBUG is not set
408CONFIG_NL80211=y 426CONFIG_NL80211=y
427# CONFIG_WIRELESS_OLD_REGULATORY is not set
409CONFIG_WIRELESS_EXT=y 428CONFIG_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
411CONFIG_MAC80211=m 431CONFIG_MAC80211=m
412 432
413# 433#
414# Rate control algorithm selection 434# Rate control algorithm selection
415# 435#
416CONFIG_MAC80211_RC_PID=y 436CONFIG_MAC80211_RC_PID=y
437# CONFIG_MAC80211_RC_MINSTREL is not set
417CONFIG_MAC80211_RC_DEFAULT_PID=y 438CONFIG_MAC80211_RC_DEFAULT_PID=y
439# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
418CONFIG_MAC80211_RC_DEFAULT="pid" 440CONFIG_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
423CONFIG_IEEE80211=m 445# CONFIG_WIMAX is not set
424# CONFIG_IEEE80211_DEBUG is not set
425CONFIG_IEEE80211_CRYPT_WEP=m
426CONFIG_IEEE80211_CRYPT_CCMP=m
427CONFIG_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
450CONFIG_MTD_DEBUG_VERBOSE=0 468CONFIG_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
497CONFIG_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
530CONFIG_MISC_DEVICES=y 553CONFIG_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
533CONFIG_HAVE_IDE=y 561CONFIG_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 606CONFIG_MD=y
607# CONFIG_BLK_DEV_MD is not set
608CONFIG_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
580CONFIG_NETDEVICES=y 618CONFIG_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
595CONFIG_NETDEV_1000=y 636CONFIG_NETDEV_1000=y
596CONFIG_GELIC_NET=y 637CONFIG_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
605CONFIG_WLAN_80211=y 646CONFIG_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
616CONFIG_ZD1211RW=m 658CONFIG_ZD1211RW=m
617# CONFIG_ZD1211RW_DEBUG is not set 659# CONFIG_ZD1211RW_DEBUG is not set
618CONFIG_RT2X00=m 660# CONFIG_RT2X00 is not set
619CONFIG_RT2X00_LIB=m 661
620CONFIG_RT2X00_LIB_USB=m 662#
621CONFIG_RT2X00_LIB_FIRMWARE=y 663# Enable WiMAX (Networking options) to see the WiMAX drivers
622# CONFIG_RT2500USB is not set 664#
623CONFIG_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
634CONFIG_USB_NET_AX8817X=m 674CONFIG_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#
666CONFIG_INPUT=y 707CONFIG_INPUT=y
667# CONFIG_INPUT_FF_MEMLESS is not set 708CONFIG_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#
737CONFIG_UNIX98_PTYS=y 778CONFIG_UNIX98_PTYS=y
779# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
738CONFIG_LEGACY_PTYS=y 780CONFIG_LEGACY_PTYS=y
739CONFIG_LEGACY_PTY_COUNT=16 781CONFIG_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
799CONFIG_SSB_POSSIBLE=y
756 800
757# 801#
758# Sonics Silicon Backplane 802# Sonics Silicon Backplane
759# 803#
760CONFIG_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
792CONFIG_FB=y 836CONFIG_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
817CONFIG_FB_PS3=y 862CONFIG_FB_PS3=y
818CONFIG_FB_PS3_DEFAULT_SIZE_M=9 863CONFIG_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
842CONFIG_LOGO_LINUX_CLUT224=y 889CONFIG_LOGO_LINUX_CLUT224=y
843CONFIG_SOUND=m 890CONFIG_SOUND=m
891# CONFIG_SOUND_OSS_CORE is not set
844CONFIG_SND=m 892CONFIG_SND=m
845CONFIG_SND_TIMER=m 893CONFIG_SND_TIMER=m
846CONFIG_SND_PCM=m 894CONFIG_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
853CONFIG_SND_SUPPORT_OLD_API=y 902CONFIG_SND_SUPPORT_OLD_API=y
854CONFIG_SND_VERBOSE_PROCFS=y 903CONFIG_SND_VERBOSE_PROCFS=y
@@ -873,15 +922,40 @@ CONFIG_HIDRAW=y
873# USB Input Devices 922# USB Input Devices
874# 923#
875CONFIG_USB_HID=m 924CONFIG_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 926CONFIG_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
885CONFIG_USB_SUPPORT=y 959CONFIG_USB_SUPPORT=y
886CONFIG_USB_ARCH_HAS_HCD=y 960CONFIG_USB_ARCH_HAS_HCD=y
887CONFIG_USB_ARCH_HAS_OHCI=y 961CONFIG_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
899CONFIG_USB_SUSPEND=y 973CONFIG_USB_SUSPEND=y
900# CONFIG_USB_OTG is not set 974# CONFIG_USB_OTG is not set
901CONFIG_USB_MON=y 975# CONFIG_USB_OTG_WHITELIST is not set
976# CONFIG_USB_OTG_BLACKLIST_HUB is not set
977CONFIG_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
910CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y 988CONFIG_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
914CONFIG_USB_OHCI_HCD=m 993CONFIG_USB_OHCI_HCD=m
@@ -918,6 +997,7 @@ CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
918CONFIG_USB_OHCI_LITTLE_ENDIAN=y 997CONFIG_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#
940CONFIG_USB_STORAGE=m 1021CONFIG_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
1028CONFIG_RTC_DRV_PPC=m 1116CONFIG_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
1035CONFIG_EXT2_FS=m 1124CONFIG_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
1038CONFIG_EXT3_FS=y 1127CONFIG_EXT3_FS=m
1039CONFIG_EXT3_FS_XATTR=y 1128CONFIG_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 1131CONFIG_EXT4_FS=y
1043CONFIG_JBD=y 1132# CONFIG_EXT4DEV_COMPAT is not set
1133CONFIG_EXT4_FS_XATTR=y
1134# CONFIG_EXT4_FS_POSIX_ACL is not set
1135# CONFIG_EXT4_FS_SECURITY is not set
1136CONFIG_JBD=m
1044# CONFIG_JBD_DEBUG is not set 1137# CONFIG_JBD_DEBUG is not set
1138CONFIG_JBD2=y
1139# CONFIG_JBD2_DEBUG is not set
1045CONFIG_FS_MBCACHE=y 1140CONFIG_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
1144CONFIG_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
1052CONFIG_DNOTIFY=y 1149CONFIG_DNOTIFY=y
1053CONFIG_INOTIFY=y 1150CONFIG_INOTIFY=y
1054CONFIG_INOTIFY_USER=y 1151CONFIG_INOTIFY_USER=y
1055CONFIG_QUOTA=y 1152CONFIG_QUOTA=y
1056# CONFIG_QUOTA_NETLINK_INTERFACE is not set 1153# CONFIG_QUOTA_NETLINK_INTERFACE is not set
1057CONFIG_PRINT_QUOTA_WARNING=y 1154CONFIG_PRINT_QUOTA_WARNING=y
1155CONFIG_QUOTA_TREE=y
1058# CONFIG_QFMT_V1 is not set 1156# CONFIG_QFMT_V1 is not set
1059CONFIG_QFMT_V2=y 1157CONFIG_QFMT_V2=y
1060CONFIG_QUOTACTL=y 1158CONFIG_QUOTACTL=y
@@ -1087,16 +1185,14 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1087CONFIG_PROC_FS=y 1185CONFIG_PROC_FS=y
1088CONFIG_PROC_KCORE=y 1186CONFIG_PROC_KCORE=y
1089CONFIG_PROC_SYSCTL=y 1187CONFIG_PROC_SYSCTL=y
1188CONFIG_PROC_PAGE_MONITOR=y
1090CONFIG_SYSFS=y 1189CONFIG_SYSFS=y
1091CONFIG_TMPFS=y 1190CONFIG_TMPFS=y
1092# CONFIG_TMPFS_POSIX_ACL is not set 1191# CONFIG_TMPFS_POSIX_ACL is not set
1093CONFIG_HUGETLBFS=y 1192CONFIG_HUGETLBFS=y
1094CONFIG_HUGETLB_PAGE=y 1193CONFIG_HUGETLB_PAGE=y
1095# CONFIG_CONFIGFS_FS is not set 1194# CONFIG_CONFIGFS_FS is not set
1096 1195CONFIG_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
1126CONFIG_NFS_COMMON=y 1223CONFIG_NFS_COMMON=y
1127CONFIG_SUNRPC=y 1224CONFIG_SUNRPC=y
1128CONFIG_SUNRPC_GSS=y 1225CONFIG_SUNRPC_GSS=y
1226# CONFIG_SUNRPC_REGISTER_V4 is not set
1129CONFIG_RPCSEC_GSS_KRB5=y 1227CONFIG_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#
1192CONFIG_BITREVERSE=y 1290CONFIG_BITREVERSE=y
1193# CONFIG_GENERIC_FIND_FIRST_BIT is not set 1291CONFIG_GENERIC_FIND_LAST_BIT=y
1194CONFIG_CRC_CCITT=m 1292CONFIG_CRC_CCITT=m
1195# CONFIG_CRC16 is not set 1293CONFIG_CRC16=y
1196CONFIG_CRC_T10DIF=y 1294CONFIG_CRC_T10DIF=y
1197CONFIG_CRC_ITU_T=m 1295CONFIG_CRC_ITU_T=m
1198CONFIG_CRC32=y 1296CONFIG_CRC32=y
@@ -1250,27 +1348,44 @@ CONFIG_DEBUG_WRITECOUNT=y
1250CONFIG_DEBUG_MEMORY_INIT=y 1348CONFIG_DEBUG_MEMORY_INIT=y
1251CONFIG_DEBUG_LIST=y 1349CONFIG_DEBUG_LIST=y
1252# CONFIG_DEBUG_SG is not set 1350# CONFIG_DEBUG_SG is not set
1253CONFIG_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
1259CONFIG_SYSCTL_SYSCALL_CHECK=y 1359CONFIG_SYSCTL_SYSCALL_CHECK=y
1260CONFIG_HAVE_FTRACE=y 1360CONFIG_NOP_TRACER=y
1361CONFIG_HAVE_FUNCTION_TRACER=y
1261CONFIG_HAVE_DYNAMIC_FTRACE=y 1362CONFIG_HAVE_DYNAMIC_FTRACE=y
1262# CONFIG_FTRACE is not set 1363CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
1364CONFIG_RING_BUFFER=y
1365CONFIG_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
1267CONFIG_HAVE_ARCH_KGDB=y 1380CONFIG_HAVE_ARCH_KGDB=y
1268# CONFIG_KGDB is not set 1381# CONFIG_KGDB is not set
1382CONFIG_PRINT_STACK_DEPTH=64
1269CONFIG_DEBUG_STACKOVERFLOW=y 1383CONFIG_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
1275CONFIG_IRQSTACKS=y 1390CONFIG_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
1286CONFIG_CRYPTO=y 1402CONFIG_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
1291CONFIG_CRYPTO_ALGAPI=y 1408CONFIG_CRYPTO_ALGAPI=y
1409CONFIG_CRYPTO_ALGAPI2=y
1292CONFIG_CRYPTO_AEAD=m 1410CONFIG_CRYPTO_AEAD=m
1411CONFIG_CRYPTO_AEAD2=y
1293CONFIG_CRYPTO_BLKCIPHER=y 1412CONFIG_CRYPTO_BLKCIPHER=y
1413CONFIG_CRYPTO_BLKCIPHER2=y
1414CONFIG_CRYPTO_HASH=y
1415CONFIG_CRYPTO_HASH2=y
1416CONFIG_CRYPTO_RNG=m
1417CONFIG_CRYPTO_RNG2=y
1294CONFIG_CRYPTO_MANAGER=y 1418CONFIG_CRYPTO_MANAGER=y
1419CONFIG_CRYPTO_MANAGER2=y
1295CONFIG_CRYPTO_GF128MUL=m 1420CONFIG_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
1365CONFIG_CRYPTO_LZO=m 1490CONFIG_CRYPTO_LZO=m
1491
1492#
1493# Random Number Generation
1494#
1495# CONFIG_CRYPTO_ANSI_CPRNG is not set
1366CONFIG_CRYPTO_HW=y 1496CONFIG_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
131config 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
131config PS3_LPM 138config 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)
26int 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 *);
61extern int get_cpu_capability(unsigned int *); 61extern 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);
138out:
139 spin_unlock(&mm->page_table_lock); 136 spin_unlock(&mm->page_table_lock);
140 return n - done; 137 return n - done;
141fault: 138fault:
@@ -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));
170out: 164out:
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));
259out:
260 spin_unlock(&mm->page_table_lock); 248 spin_unlock(&mm->page_table_lock);
261 return done + 1; 249 return done + 1;
262fault: 250fault:
@@ -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);
345out:
346 spin_unlock(&mm->page_table_lock); 328 spin_unlock(&mm->page_table_lock);
347 return n - done; 329 return n - done;
348fault: 330fault:
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
40static inline unsigned long mmap_base(void) 40static 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
52static inline int mmap_is_legacy(void) 52static 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
92int 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
92static unsigned long 100static unsigned long
93s390_get_unmapped_area(struct file *filp, unsigned long addr, 101s390_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
110static unsigned long 122static unsigned long
111s390_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, 123s390_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
132static void vga_set_480_scanlines(int end) 132static 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
152static void vga_set_80x30(void) 156static void vga_set_80x30(void)
153{ 157{
154 vga_set_480_scanlines(0xdf); 158 vga_set_480_scanlines(30*16);
155} 159}
156 160
157static void vga_set_80x34(void) 161static 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
163static void vga_set_80x60(void) 167static 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
169static int vga_set_mode(struct mode_info *mode) 173static 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
199retry: 199retry:
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
116static int bad_ioapic(unsigned long address) 113static 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 */
225static inline void __init MP_bus_info(struct mpc_bus *m) {}
226static inline void __init MP_ioapic_info(struct mpc_ioapic *m) {}
227static inline void __init MP_intsrc_info(struct mpc_intsrc *m) {}
228#endif /* CONFIG_X86_IO_APIC */
227 229
228#endif
229 230
230static void __init MP_lintsrc_info(struct mpc_lintsrc *m) 231static 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
279static void skip_entry(unsigned char **ptr, int *count, int size)
280{
281 *ptr += size;
282 *count += size;
283}
284
278static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early) 285static 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
671static 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
692static int __init smp_scan_config(unsigned long base, unsigned long length, 696static 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
850static struct mpc_intsrc __initdata *m_spare[SPARE_SLOT_NUM]; 828static struct mpc_intsrc __initdata *m_spare[SPARE_SLOT_NUM];
851#endif 829
830static 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 */
858static inline void check_irq_src(struct mpc_intsrc *m, int *nr_m_spare) {}
859#endif /* CONFIG_X86_IO_APIC */
860
861static 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
853static int __init replace_intsrc_all(struct mpc_table *mpc, 881static 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);