aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/boot/dts/walnut.dts4
-rwxr-xr-xarch/powerpc/boot/wrapper43
-rw-r--r--arch/powerpc/configs/pasemi_defconfig308
-rw-r--r--arch/powerpc/configs/ppc64_defconfig247
-rw-r--r--arch/powerpc/kernel/cputable.c36
-rw-r--r--arch/powerpc/kernel/entry_32.S23
-rw-r--r--arch/powerpc/kernel/head_64.S2
-rw-r--r--arch/powerpc/kernel/idle.c2
-rw-r--r--arch/powerpc/kernel/misc_32.S32
-rw-r--r--arch/powerpc/kernel/prom.c12
-rw-r--r--arch/powerpc/kernel/prom_init.c2
-rw-r--r--arch/powerpc/kernel/setup_64.c19
-rw-r--r--arch/powerpc/kernel/swsusp_32.S2
-rw-r--r--arch/powerpc/kernel/time.c10
-rw-r--r--arch/powerpc/kernel/vmlinux.lds.S3
-rw-r--r--arch/powerpc/mm/40x_mmu.c17
-rw-r--r--arch/powerpc/mm/44x_mmu.c1
-rw-r--r--arch/powerpc/mm/fault.c2
-rw-r--r--arch/powerpc/mm/hash_low_64.S5
-rw-r--r--arch/powerpc/mm/hash_utils_64.c7
-rw-r--r--arch/powerpc/mm/mmu_decl.h4
-rw-r--r--arch/powerpc/mm/slb.c35
-rw-r--r--arch/powerpc/platforms/cell/interrupt.c24
-rw-r--r--arch/powerpc/platforms/cell/smp.c1
-rw-r--r--arch/powerpc/platforms/celleb/setup.c1
-rw-r--r--arch/powerpc/platforms/iseries/irq.h4
-rw-r--r--arch/powerpc/platforms/iseries/setup.c4
-rw-r--r--arch/powerpc/platforms/iseries/vio.c10
-rw-r--r--arch/powerpc/platforms/pseries/eeh.c13
-rw-r--r--arch/powerpc/platforms/pseries/eeh_driver.c18
-rw-r--r--arch/powerpc/platforms/pseries/firmware.c1
-rw-r--r--arch/powerpc/platforms/pseries/msi.c6
-rw-r--r--arch/powerpc/sysdev/i8259.c1
-rw-r--r--arch/powerpc/sysdev/mv64x60_pci.c10
-rw-r--r--arch/ppc/kernel/entry.S23
-rw-r--r--arch/ppc/kernel/misc.S31
-rw-r--r--arch/ppc/mm/44x_mmu.c1
-rw-r--r--arch/ppc/mm/4xx_mmu.c17
-rw-r--r--arch/ppc/mm/fault.c2
-rw-r--r--arch/ppc/mm/mmu_decl.h4
-rw-r--r--arch/ppc/platforms/4xx/ebony.c2
-rw-r--r--arch/ppc/platforms/4xx/luan.c7
-rw-r--r--arch/ppc/platforms/4xx/ocotea.c2
-rw-r--r--arch/ppc/platforms/4xx/taishan.c2
-rw-r--r--arch/ppc/syslib/i8259.c1
-rw-r--r--arch/ppc/syslib/m8260_setup.c13
46 files changed, 681 insertions, 333 deletions
diff --git a/arch/powerpc/boot/dts/walnut.dts b/arch/powerpc/boot/dts/walnut.dts
index fa681f5343fe..754fa3960f83 100644
--- a/arch/powerpc/boot/dts/walnut.dts
+++ b/arch/powerpc/boot/dts/walnut.dts
@@ -122,7 +122,9 @@
122 device_type = "network"; 122 device_type = "network";
123 compatible = "ibm,emac-405gp", "ibm,emac"; 123 compatible = "ibm,emac-405gp", "ibm,emac";
124 interrupt-parent = <&UIC0>; 124 interrupt-parent = <&UIC0>;
125 interrupts = <9 4 f 4>; 125 interrupts = <
126 f 4 /* Ethernet */
127 9 4 /* Ethernet Wake Up */>;
126 local-mac-address = [000000000000]; /* Filled in by zImage */ 128 local-mac-address = [000000000000]; /* Filled in by zImage */
127 reg = <ef600800 70>; 129 reg = <ef600800 70>;
128 mal-device = <&MAL>; 130 mal-device = <&MAL>;
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
index 39b27e5ef6c1..31147a037728 100755
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
@@ -21,6 +21,14 @@
21# (default ./arch/powerpc/boot) 21# (default ./arch/powerpc/boot)
22# -W dir specify working directory for temporary files (default .) 22# -W dir specify working directory for temporary files (default .)
23 23
24# Stop execution if any command fails
25set -e
26
27# Allow for verbose output
28if [ "$V" = 1 ]; then
29 set -x
30fi
31
24# defaults 32# defaults
25kernel= 33kernel=
26ofile=zImage 34ofile=zImage
@@ -111,7 +119,7 @@ if [ -n "$dts" ]; then
111 if [ -z "$dtb" ]; then 119 if [ -z "$dtb" ]; then
112 dtb="$platform.dtb" 120 dtb="$platform.dtb"
113 fi 121 fi
114 dtc -O dtb -o "$dtb" -b 0 -V 16 "$dts" || exit 1 122 dtc -O dtb -o "$dtb" -b 0 -V 16 "$dts"
115fi 123fi
116 124
117if [ -z "$kernel" ]; then 125if [ -z "$kernel" ]; then
@@ -149,7 +157,6 @@ cuboot*)
149ps3) 157ps3)
150 platformo="$object/ps3-head.o $object/ps3-hvcall.o $object/ps3.o" 158 platformo="$object/ps3-head.o $object/ps3-hvcall.o $object/ps3.o"
151 lds=$object/zImage.ps3.lds 159 lds=$object/zImage.ps3.lds
152 binary=y
153 gzip= 160 gzip=
154 ext=bin 161 ext=bin
155 objflags="-O binary --set-section-flags=.bss=contents,alloc,load,data" 162 objflags="-O binary --set-section-flags=.bss=contents,alloc,load,data"
@@ -233,7 +240,7 @@ entry=`${CROSS}objdump -f "$ofile" | grep '^start address ' | cut -d' ' -f3`
233 240
234if [ -n "$binary" ]; then 241if [ -n "$binary" ]; then
235 mv "$ofile" "$ofile".elf 242 mv "$ofile" "$ofile".elf
236 ${CROSS}objcopy -O binary "$ofile".elf "$ofile".bin 243 ${CROSS}objcopy -O binary "$ofile".elf "$ofile"
237fi 244fi
238 245
239# post-processing needed for some platforms 246# post-processing needed for some platforms
@@ -246,9 +253,9 @@ coff)
246 $object/hack-coff "$ofile" 253 $object/hack-coff "$ofile"
247 ;; 254 ;;
248cuboot*) 255cuboot*)
249 gzip -f -9 "$ofile".bin 256 gzip -f -9 "$ofile"
250 mkimage -A ppc -O linux -T kernel -C gzip -a "$base" -e "$entry" \ 257 mkimage -A ppc -O linux -T kernel -C gzip -a "$base" -e "$entry" \
251 $uboot_version -d "$ofile".bin.gz "$ofile" 258 $uboot_version -d "$ofile".gz "$ofile"
252 ;; 259 ;;
253treeboot*) 260treeboot*)
254 mv "$ofile" "$ofile.elf" 261 mv "$ofile" "$ofile.elf"
@@ -269,11 +276,11 @@ ps3)
269 # then copied to offset 0x100. At runtime the bootwrapper program 276 # then copied to offset 0x100. At runtime the bootwrapper program
270 # copies the 0x100 bytes at __system_reset_kernel to addr 0x100. 277 # copies the 0x100 bytes at __system_reset_kernel to addr 0x100.
271 278
272 system_reset_overlay=0x`${CROSS}nm "$ofile".elf \ 279 system_reset_overlay=0x`${CROSS}nm "$ofile" \
273 | grep ' __system_reset_overlay$' \ 280 | grep ' __system_reset_overlay$' \
274 | cut -d' ' -f1` 281 | cut -d' ' -f1`
275 system_reset_overlay=`printf "%d" $system_reset_overlay` 282 system_reset_overlay=`printf "%d" $system_reset_overlay`
276 system_reset_kernel=0x`${CROSS}nm "$ofile".elf \ 283 system_reset_kernel=0x`${CROSS}nm "$ofile" \
277 | grep ' __system_reset_kernel$' \ 284 | grep ' __system_reset_kernel$' \
278 | cut -d' ' -f1` 285 | cut -d' ' -f1`
279 system_reset_kernel=`printf "%d" $system_reset_kernel` 286 system_reset_kernel=`printf "%d" $system_reset_kernel`
@@ -282,23 +289,15 @@ ps3)
282 289
283 rm -f "$object/otheros.bld" 290 rm -f "$object/otheros.bld"
284 291
285 msg=$(dd if="$ofile.bin" of="$ofile.bin" conv=notrunc \ 292 ${CROSS}objcopy -O binary "$ofile" "$ofile.bin"
286 skip=$overlay_dest seek=$system_reset_kernel \
287 count=$overlay_size bs=1 2>&1)
288 293
289 if [ $? -ne "0" ]; then 294 dd if="$ofile.bin" of="$ofile.bin" conv=notrunc \
290 echo $msg 295 skip=$overlay_dest seek=$system_reset_kernel \
291 exit 1 296 count=$overlay_size bs=1
292 fi
293
294 msg=$(dd if="$ofile.bin" of="$ofile.bin" conv=notrunc \
295 skip=$system_reset_overlay seek=$overlay_dest \
296 count=$overlay_size bs=1 2>&1)
297 297
298 if [ $? -ne "0" ]; then 298 dd if="$ofile.bin" of="$ofile.bin" conv=notrunc \
299 echo $msg 299 skip=$system_reset_overlay seek=$overlay_dest \
300 exit 2 300 count=$overlay_size bs=1
301 fi
302 301
303 gzip --force -9 --stdout "$ofile.bin" > "$object/otheros.bld" 302 gzip --force -9 --stdout "$ofile.bin" > "$object/otheros.bld"
304 ;; 303 ;;
diff --git a/arch/powerpc/configs/pasemi_defconfig b/arch/powerpc/configs/pasemi_defconfig
index 1ccf3ed7693e..78c968aade4e 100644
--- a/arch/powerpc/configs/pasemi_defconfig
+++ b/arch/powerpc/configs/pasemi_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.23-rc4 3# Linux kernel version: 2.6.24-rc2
4# Thu Aug 30 16:40:47 2007 4# Tue Nov 6 23:23:50 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -10,6 +10,7 @@ CONFIG_PPC64=y
10# 10#
11CONFIG_POWER4_ONLY=y 11CONFIG_POWER4_ONLY=y
12CONFIG_POWER4=y 12CONFIG_POWER4=y
13# CONFIG_TUNE_CELL is not set
13CONFIG_PPC_FPU=y 14CONFIG_PPC_FPU=y
14CONFIG_ALTIVEC=y 15CONFIG_ALTIVEC=y
15CONFIG_PPC_STD_MMU=y 16CONFIG_PPC_STD_MMU=y
@@ -18,8 +19,13 @@ CONFIG_PPC_MM_SLICES=y
18CONFIG_SMP=y 19CONFIG_SMP=y
19CONFIG_NR_CPUS=2 20CONFIG_NR_CPUS=2
20CONFIG_64BIT=y 21CONFIG_64BIT=y
22CONFIG_WORD_SIZE=64
21CONFIG_PPC_MERGE=y 23CONFIG_PPC_MERGE=y
22CONFIG_MMU=y 24CONFIG_MMU=y
25CONFIG_GENERIC_CMOS_UPDATE=y
26CONFIG_GENERIC_TIME=y
27CONFIG_GENERIC_TIME_VSYSCALL=y
28CONFIG_GENERIC_CLOCKEVENTS=y
23CONFIG_GENERIC_HARDIRQS=y 29CONFIG_GENERIC_HARDIRQS=y
24CONFIG_IRQ_PER_CPU=y 30CONFIG_IRQ_PER_CPU=y
25CONFIG_RWSEM_XCHGADD_ALGORITHM=y 31CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -65,7 +71,10 @@ CONFIG_SYSVIPC_SYSCTL=y
65# CONFIG_AUDIT is not set 71# CONFIG_AUDIT is not set
66# CONFIG_IKCONFIG is not set 72# CONFIG_IKCONFIG is not set
67CONFIG_LOG_BUF_SHIFT=17 73CONFIG_LOG_BUF_SHIFT=17
68# CONFIG_CPUSETS is not set 74# CONFIG_CGROUPS is not set
75CONFIG_FAIR_GROUP_SCHED=y
76CONFIG_FAIR_USER_SCHED=y
77# CONFIG_FAIR_CGROUP_SCHED is not set
69CONFIG_SYSFS_DEPRECATED=y 78CONFIG_SYSFS_DEPRECATED=y
70# CONFIG_RELAY is not set 79# CONFIG_RELAY is not set
71CONFIG_BLK_DEV_INITRD=y 80CONFIG_BLK_DEV_INITRD=y
@@ -86,7 +95,6 @@ CONFIG_FUTEX=y
86CONFIG_ANON_INODES=y 95CONFIG_ANON_INODES=y
87CONFIG_EPOLL=y 96CONFIG_EPOLL=y
88CONFIG_SIGNALFD=y 97CONFIG_SIGNALFD=y
89CONFIG_TIMERFD=y
90CONFIG_EVENTFD=y 98CONFIG_EVENTFD=y
91CONFIG_SHMEM=y 99CONFIG_SHMEM=y
92CONFIG_VM_EVENT_COUNTERS=y 100CONFIG_VM_EVENT_COUNTERS=y
@@ -107,14 +115,15 @@ CONFIG_STOP_MACHINE=y
107CONFIG_BLOCK=y 115CONFIG_BLOCK=y
108# CONFIG_BLK_DEV_IO_TRACE is not set 116# CONFIG_BLK_DEV_IO_TRACE is not set
109# CONFIG_BLK_DEV_BSG is not set 117# CONFIG_BLK_DEV_BSG is not set
118CONFIG_BLOCK_COMPAT=y
110 119
111# 120#
112# IO Schedulers 121# IO Schedulers
113# 122#
114CONFIG_IOSCHED_NOOP=y 123CONFIG_IOSCHED_NOOP=y
115CONFIG_IOSCHED_AS=y 124CONFIG_IOSCHED_AS=y
116# CONFIG_IOSCHED_DEADLINE is not set 125CONFIG_IOSCHED_DEADLINE=y
117# CONFIG_IOSCHED_CFQ is not set 126CONFIG_IOSCHED_CFQ=y
118CONFIG_DEFAULT_AS=y 127CONFIG_DEFAULT_AS=y
119# CONFIG_DEFAULT_DEADLINE is not set 128# CONFIG_DEFAULT_DEADLINE is not set
120# CONFIG_DEFAULT_CFQ is not set 129# CONFIG_DEFAULT_CFQ is not set
@@ -125,7 +134,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
125# Platform support 134# Platform support
126# 135#
127CONFIG_PPC_MULTIPLATFORM=y 136CONFIG_PPC_MULTIPLATFORM=y
128# CONFIG_EMBEDDED6xx is not set
129# CONFIG_PPC_82xx is not set 137# CONFIG_PPC_82xx is not set
130# CONFIG_PPC_83xx is not set 138# CONFIG_PPC_83xx is not set
131# CONFIG_PPC_86xx is not set 139# CONFIG_PPC_86xx is not set
@@ -141,6 +149,7 @@ CONFIG_PPC_PASEMI=y
141# PA Semi PWRficient options 149# PA Semi PWRficient options
142# 150#
143CONFIG_PPC_PASEMI_IOMMU=y 151CONFIG_PPC_PASEMI_IOMMU=y
152# CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set
144CONFIG_PPC_PASEMI_MDIO=y 153CONFIG_PPC_PASEMI_MDIO=y
145CONFIG_ELECTRA_IDE=y 154CONFIG_ELECTRA_IDE=y
146# CONFIG_PPC_CELLEB is not set 155# CONFIG_PPC_CELLEB is not set
@@ -156,29 +165,52 @@ CONFIG_MPIC=y
156# CONFIG_U3_DART is not set 165# CONFIG_U3_DART is not set
157# CONFIG_PPC_RTAS is not set 166# CONFIG_PPC_RTAS is not set
158# CONFIG_MMIO_NVRAM is not set 167# CONFIG_MMIO_NVRAM is not set
168CONFIG_MPIC_BROKEN_REGREAD=y
159# CONFIG_PPC_MPC106 is not set 169# CONFIG_PPC_MPC106 is not set
160# CONFIG_PPC_970_NAP is not set 170# CONFIG_PPC_970_NAP is not set
161# CONFIG_PPC_INDIRECT_IO is not set 171# CONFIG_PPC_INDIRECT_IO is not set
162# CONFIG_GENERIC_IOMAP is not set 172# CONFIG_GENERIC_IOMAP is not set
163# CONFIG_CPU_FREQ is not set 173CONFIG_CPU_FREQ=y
174CONFIG_CPU_FREQ_TABLE=y
175CONFIG_CPU_FREQ_DEBUG=y
176CONFIG_CPU_FREQ_STAT=y
177# CONFIG_CPU_FREQ_STAT_DETAILS is not set
178CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
179# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
180# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
181# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
182CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
183CONFIG_CPU_FREQ_GOV_POWERSAVE=y
184CONFIG_CPU_FREQ_GOV_USERSPACE=y
185CONFIG_CPU_FREQ_GOV_ONDEMAND=y
186# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
187
188#
189# CPU Frequency drivers
190#
191CONFIG_PPC_PASEMI_CPUFREQ=y
164# CONFIG_CPM2 is not set 192# CONFIG_CPM2 is not set
165# CONFIG_FSL_ULI1575 is not set 193# CONFIG_FSL_ULI1575 is not set
166 194
167# 195#
168# Kernel options 196# Kernel options
169# 197#
170CONFIG_HZ_100=y 198CONFIG_TICK_ONESHOT=y
199CONFIG_NO_HZ=y
200CONFIG_HIGH_RES_TIMERS=y
201CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
202# CONFIG_HZ_100 is not set
171# CONFIG_HZ_250 is not set 203# CONFIG_HZ_250 is not set
172# CONFIG_HZ_300 is not set 204# CONFIG_HZ_300 is not set
173# CONFIG_HZ_1000 is not set 205CONFIG_HZ_1000=y
174CONFIG_HZ=100 206CONFIG_HZ=1000
175CONFIG_PREEMPT_NONE=y 207CONFIG_PREEMPT_NONE=y
176# CONFIG_PREEMPT_VOLUNTARY is not set 208# CONFIG_PREEMPT_VOLUNTARY is not set
177# CONFIG_PREEMPT is not set 209# CONFIG_PREEMPT is not set
178CONFIG_PREEMPT_BKL=y 210# CONFIG_PREEMPT_BKL is not set
179CONFIG_BINFMT_ELF=y 211CONFIG_BINFMT_ELF=y
180# CONFIG_BINFMT_MISC is not set 212# CONFIG_BINFMT_MISC is not set
181CONFIG_FORCE_MAX_ZONEORDER=13 213CONFIG_FORCE_MAX_ZONEORDER=9
182CONFIG_IOMMU_VMERGE=y 214CONFIG_IOMMU_VMERGE=y
183CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y 215CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
184# CONFIG_KEXEC is not set 216# CONFIG_KEXEC is not set
@@ -196,12 +228,13 @@ CONFIG_FLATMEM_MANUAL=y
196CONFIG_FLATMEM=y 228CONFIG_FLATMEM=y
197CONFIG_FLAT_NODE_MEM_MAP=y 229CONFIG_FLAT_NODE_MEM_MAP=y
198# CONFIG_SPARSEMEM_STATIC is not set 230# CONFIG_SPARSEMEM_STATIC is not set
231CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
199CONFIG_SPLIT_PTLOCK_CPUS=4 232CONFIG_SPLIT_PTLOCK_CPUS=4
200CONFIG_RESOURCES_64BIT=y 233CONFIG_RESOURCES_64BIT=y
201CONFIG_ZONE_DMA_FLAG=1 234CONFIG_ZONE_DMA_FLAG=1
202CONFIG_BOUNCE=y 235CONFIG_BOUNCE=y
203# CONFIG_PPC_HAS_HASH_64K is not set 236CONFIG_PPC_HAS_HASH_64K=y
204# CONFIG_PPC_64K_PAGES is not set 237CONFIG_PPC_64K_PAGES=y
205# CONFIG_SCHED_SMT is not set 238# CONFIG_SCHED_SMT is not set
206CONFIG_PROC_DEVICETREE=y 239CONFIG_PROC_DEVICETREE=y
207# CONFIG_CMDLINE_BOOL is not set 240# CONFIG_CMDLINE_BOOL is not set
@@ -222,11 +255,8 @@ CONFIG_PCI_SYSCALL=y
222# CONFIG_PCIEPORTBUS is not set 255# CONFIG_PCIEPORTBUS is not set
223CONFIG_ARCH_SUPPORTS_MSI=y 256CONFIG_ARCH_SUPPORTS_MSI=y
224# CONFIG_PCI_MSI is not set 257# CONFIG_PCI_MSI is not set
258CONFIG_PCI_LEGACY=y
225# CONFIG_PCI_DEBUG is not set 259# CONFIG_PCI_DEBUG is not set
226
227#
228# PCCARD (PCMCIA/CardBus) support
229#
230CONFIG_PCCARD=y 260CONFIG_PCCARD=y
231CONFIG_PCMCIA_DEBUG=y 261CONFIG_PCMCIA_DEBUG=y
232CONFIG_PCMCIA=y 262CONFIG_PCMCIA=y
@@ -240,6 +270,7 @@ CONFIG_CARDBUS=y
240# CONFIG_YENTA is not set 270# CONFIG_YENTA is not set
241# CONFIG_PD6729 is not set 271# CONFIG_PD6729 is not set
242# CONFIG_I82092 is not set 272# CONFIG_I82092 is not set
273# CONFIG_ELECTRA_CF is not set
243# CONFIG_HOTPLUG_PCI is not set 274# CONFIG_HOTPLUG_PCI is not set
244CONFIG_KERNEL_START=0xc000000000000000 275CONFIG_KERNEL_START=0xc000000000000000
245 276
@@ -255,7 +286,7 @@ CONFIG_PACKET=y
255# CONFIG_PACKET_MMAP is not set 286# CONFIG_PACKET_MMAP is not set
256CONFIG_UNIX=y 287CONFIG_UNIX=y
257CONFIG_XFRM=y 288CONFIG_XFRM=y
258# CONFIG_XFRM_USER is not set 289CONFIG_XFRM_USER=y
259# CONFIG_XFRM_SUB_POLICY is not set 290# CONFIG_XFRM_SUB_POLICY is not set
260# CONFIG_XFRM_MIGRATE is not set 291# CONFIG_XFRM_MIGRATE is not set
261CONFIG_NET_KEY=y 292CONFIG_NET_KEY=y
@@ -281,6 +312,7 @@ CONFIG_INET_TUNNEL=y
281CONFIG_INET_XFRM_MODE_TRANSPORT=y 312CONFIG_INET_XFRM_MODE_TRANSPORT=y
282CONFIG_INET_XFRM_MODE_TUNNEL=y 313CONFIG_INET_XFRM_MODE_TUNNEL=y
283CONFIG_INET_XFRM_MODE_BEET=y 314CONFIG_INET_XFRM_MODE_BEET=y
315CONFIG_INET_LRO=y
284CONFIG_INET_DIAG=y 316CONFIG_INET_DIAG=y
285CONFIG_INET_TCP_DIAG=y 317CONFIG_INET_TCP_DIAG=y
286# CONFIG_TCP_CONG_ADVANCED is not set 318# CONFIG_TCP_CONG_ADVANCED is not set
@@ -306,10 +338,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
306# CONFIG_LAPB is not set 338# CONFIG_LAPB is not set
307# CONFIG_ECONET is not set 339# CONFIG_ECONET is not set
308# CONFIG_WAN_ROUTER is not set 340# CONFIG_WAN_ROUTER is not set
309
310#
311# QoS and/or fair queueing
312#
313# CONFIG_NET_SCHED is not set 341# CONFIG_NET_SCHED is not set
314 342
315# 343#
@@ -338,6 +366,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
338# 366#
339# Generic Driver Options 367# Generic Driver Options
340# 368#
369CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
341CONFIG_STANDALONE=y 370CONFIG_STANDALONE=y
342CONFIG_PREVENT_FIRMWARE_BUILD=y 371CONFIG_PREVENT_FIRMWARE_BUILD=y
343CONFIG_FW_LOADER=y 372CONFIG_FW_LOADER=y
@@ -361,6 +390,7 @@ CONFIG_MTD_BLOCK=y
361# CONFIG_INFTL is not set 390# CONFIG_INFTL is not set
362# CONFIG_RFD_FTL is not set 391# CONFIG_RFD_FTL is not set
363# CONFIG_SSFDC is not set 392# CONFIG_SSFDC is not set
393# CONFIG_MTD_OOPS is not set
364 394
365# 395#
366# RAM/ROM/Flash chip drivers 396# RAM/ROM/Flash chip drivers
@@ -385,6 +415,7 @@ CONFIG_MTD_CFI_I2=y
385# Mapping drivers for chip access 415# Mapping drivers for chip access
386# 416#
387# CONFIG_MTD_COMPLEX_MAPPINGS is not set 417# CONFIG_MTD_COMPLEX_MAPPINGS is not set
418# CONFIG_MTD_INTEL_VR_NOR is not set
388# CONFIG_MTD_PLATRAM is not set 419# CONFIG_MTD_PLATRAM is not set
389 420
390# 421#
@@ -402,7 +433,15 @@ CONFIG_MTD_PHRAM=y
402# CONFIG_MTD_DOC2000 is not set 433# CONFIG_MTD_DOC2000 is not set
403# CONFIG_MTD_DOC2001 is not set 434# CONFIG_MTD_DOC2001 is not set
404# CONFIG_MTD_DOC2001PLUS is not set 435# CONFIG_MTD_DOC2001PLUS is not set
405# CONFIG_MTD_NAND is not set 436CONFIG_MTD_NAND=y
437# CONFIG_MTD_NAND_VERIFY_WRITE is not set
438# CONFIG_MTD_NAND_ECC_SMC is not set
439# CONFIG_MTD_NAND_MUSEUM_IDS is not set
440CONFIG_MTD_NAND_IDS=y
441# CONFIG_MTD_NAND_DISKONCHIP is not set
442# CONFIG_MTD_NAND_CAFE is not set
443# CONFIG_MTD_NAND_PLATFORM is not set
444# CONFIG_MTD_ALAUDA is not set
406# CONFIG_MTD_ONENAND is not set 445# CONFIG_MTD_ONENAND is not set
407 446
408# 447#
@@ -455,10 +494,42 @@ CONFIG_IDE_PROC_FS=y
455# IDE chipset support/bugfixes 494# IDE chipset support/bugfixes
456# 495#
457# CONFIG_IDE_GENERIC is not set 496# CONFIG_IDE_GENERIC is not set
458# CONFIG_BLK_DEV_IDEPCI is not set 497# CONFIG_BLK_DEV_PLATFORM is not set
498
499#
500# PCI IDE chipsets support
501#
459# CONFIG_IDEPCI_PCIBUS_ORDER is not set 502# CONFIG_IDEPCI_PCIBUS_ORDER is not set
503# CONFIG_BLK_DEV_GENERIC is not set
504# CONFIG_BLK_DEV_OPTI621 is not set
505# CONFIG_BLK_DEV_AEC62XX is not set
506# CONFIG_BLK_DEV_ALI15X3 is not set
507# CONFIG_BLK_DEV_AMD74XX is not set
508# CONFIG_BLK_DEV_CMD64X is not set
509# CONFIG_BLK_DEV_TRIFLEX is not set
510# CONFIG_BLK_DEV_CY82C693 is not set
511# CONFIG_BLK_DEV_CS5520 is not set
512# CONFIG_BLK_DEV_CS5530 is not set
513# CONFIG_BLK_DEV_HPT34X is not set
514# CONFIG_BLK_DEV_HPT366 is not set
515# CONFIG_BLK_DEV_JMICRON is not set
516# CONFIG_BLK_DEV_SC1200 is not set
517# CONFIG_BLK_DEV_PIIX is not set
518# CONFIG_BLK_DEV_IT8213 is not set
519# CONFIG_BLK_DEV_IT821X is not set
520# CONFIG_BLK_DEV_NS87415 is not set
521# CONFIG_BLK_DEV_PDC202XX_OLD is not set
522# CONFIG_BLK_DEV_PDC202XX_NEW is not set
523# CONFIG_BLK_DEV_SVWKS is not set
524# CONFIG_BLK_DEV_SIIMAGE is not set
525# CONFIG_BLK_DEV_SL82C105 is not set
526# CONFIG_BLK_DEV_SLC90E66 is not set
527# CONFIG_BLK_DEV_TRM290 is not set
528# CONFIG_BLK_DEV_VIA82CXXX is not set
529# CONFIG_BLK_DEV_TC86C001 is not set
460# CONFIG_IDE_ARM is not set 530# CONFIG_IDE_ARM is not set
461# CONFIG_BLK_DEV_IDEDMA is not set 531# CONFIG_BLK_DEV_IDEDMA is not set
532CONFIG_IDE_ARCH_OBSOLETE_INIT=y
462# CONFIG_BLK_DEV_HD is not set 533# CONFIG_BLK_DEV_HD is not set
463 534
464# 535#
@@ -498,10 +569,11 @@ CONFIG_SCSI_WAIT_SCAN=m
498# CONFIG_SCSI_FC_ATTRS is not set 569# CONFIG_SCSI_FC_ATTRS is not set
499# CONFIG_SCSI_ISCSI_ATTRS is not set 570# CONFIG_SCSI_ISCSI_ATTRS is not set
500# CONFIG_SCSI_SAS_LIBSAS is not set 571# CONFIG_SCSI_SAS_LIBSAS is not set
572# CONFIG_SCSI_SRP_ATTRS is not set
501CONFIG_SCSI_LOWLEVEL=y 573CONFIG_SCSI_LOWLEVEL=y
502# CONFIG_ISCSI_TCP is not set 574# CONFIG_ISCSI_TCP is not set
503CONFIG_BLK_DEV_3W_XXXX_RAID=y 575# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
504CONFIG_SCSI_3W_9XXX=y 576# CONFIG_SCSI_3W_9XXX is not set
505# CONFIG_SCSI_ACARD is not set 577# CONFIG_SCSI_ACARD is not set
506# CONFIG_SCSI_AACRAID is not set 578# CONFIG_SCSI_AACRAID is not set
507# CONFIG_SCSI_AIC7XXX is not set 579# CONFIG_SCSI_AIC7XXX is not set
@@ -574,9 +646,10 @@ CONFIG_ATA_GENERIC=y
574# CONFIG_PATA_OLDPIIX is not set 646# CONFIG_PATA_OLDPIIX is not set
575# CONFIG_PATA_NETCELL is not set 647# CONFIG_PATA_NETCELL is not set
576# CONFIG_PATA_NS87410 is not set 648# CONFIG_PATA_NS87410 is not set
649# CONFIG_PATA_NS87415 is not set
577# CONFIG_PATA_OPTI is not set 650# CONFIG_PATA_OPTI is not set
578# CONFIG_PATA_OPTIDMA is not set 651# CONFIG_PATA_OPTIDMA is not set
579# CONFIG_PATA_PCMCIA is not set 652CONFIG_PATA_PCMCIA=y
580# CONFIG_PATA_PDC_OLD is not set 653# CONFIG_PATA_PDC_OLD is not set
581# CONFIG_PATA_RADISYS is not set 654# CONFIG_PATA_RADISYS is not set
582# CONFIG_PATA_RZ1000 is not set 655# CONFIG_PATA_RZ1000 is not set
@@ -589,41 +662,13 @@ CONFIG_ATA_GENERIC=y
589# CONFIG_PATA_WINBOND is not set 662# CONFIG_PATA_WINBOND is not set
590CONFIG_PATA_PLATFORM=y 663CONFIG_PATA_PLATFORM=y
591# CONFIG_MD is not set 664# CONFIG_MD is not set
592
593#
594# Fusion MPT device support
595#
596# CONFIG_FUSION is not set 665# CONFIG_FUSION is not set
597# CONFIG_FUSION_SPI is not set
598# CONFIG_FUSION_FC is not set
599# CONFIG_FUSION_SAS is not set
600 666
601# 667#
602# IEEE 1394 (FireWire) support 668# IEEE 1394 (FireWire) support
603# 669#
604# CONFIG_FIREWIRE is not set 670# CONFIG_FIREWIRE is not set
605CONFIG_IEEE1394=y 671# CONFIG_IEEE1394 is not set
606
607#
608# Subsystem Options
609#
610# CONFIG_IEEE1394_VERBOSEDEBUG is not set
611
612#
613# Controllers
614#
615CONFIG_IEEE1394_PCILYNX=y
616CONFIG_IEEE1394_OHCI1394=y
617
618#
619# Protocols
620#
621# CONFIG_IEEE1394_VIDEO1394 is not set
622CONFIG_IEEE1394_SBP2=y
623# CONFIG_IEEE1394_ETH1394_ROM_ENTRY is not set
624# CONFIG_IEEE1394_ETH1394 is not set
625# CONFIG_IEEE1394_DV1394 is not set
626CONFIG_IEEE1394_RAWIO=y
627# CONFIG_I2O is not set 672# CONFIG_I2O is not set
628# CONFIG_MACINTOSH_DRIVERS is not set 673# CONFIG_MACINTOSH_DRIVERS is not set
629CONFIG_NETDEVICES=y 674CONFIG_NETDEVICES=y
@@ -633,6 +678,8 @@ CONFIG_DUMMY=y
633# CONFIG_MACVLAN is not set 678# CONFIG_MACVLAN is not set
634# CONFIG_EQUALIZER is not set 679# CONFIG_EQUALIZER is not set
635# CONFIG_TUN is not set 680# CONFIG_TUN is not set
681# CONFIG_VETH is not set
682# CONFIG_IP1000 is not set
636# CONFIG_ARCNET is not set 683# CONFIG_ARCNET is not set
637CONFIG_PHYLIB=y 684CONFIG_PHYLIB=y
638 685
@@ -649,6 +696,7 @@ CONFIG_MARVELL_PHY=y
649# CONFIG_BROADCOM_PHY is not set 696# CONFIG_BROADCOM_PHY is not set
650# CONFIG_ICPLUS_PHY is not set 697# CONFIG_ICPLUS_PHY is not set
651# CONFIG_FIXED_PHY is not set 698# CONFIG_FIXED_PHY is not set
699# CONFIG_MDIO_BITBANG is not set
652CONFIG_NET_ETHERNET=y 700CONFIG_NET_ETHERNET=y
653CONFIG_MII=y 701CONFIG_MII=y
654# CONFIG_HAPPYMEAL is not set 702# CONFIG_HAPPYMEAL is not set
@@ -657,13 +705,16 @@ CONFIG_MII=y
657# CONFIG_NET_VENDOR_3COM is not set 705# CONFIG_NET_VENDOR_3COM is not set
658# CONFIG_NET_TULIP is not set 706# CONFIG_NET_TULIP is not set
659# CONFIG_HP100 is not set 707# CONFIG_HP100 is not set
708# CONFIG_IBM_NEW_EMAC_ZMII is not set
709# CONFIG_IBM_NEW_EMAC_RGMII is not set
710# CONFIG_IBM_NEW_EMAC_TAH is not set
711# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
660CONFIG_NET_PCI=y 712CONFIG_NET_PCI=y
661# CONFIG_PCNET32 is not set 713# CONFIG_PCNET32 is not set
662# CONFIG_AMD8111_ETH is not set 714# CONFIG_AMD8111_ETH is not set
663# CONFIG_ADAPTEC_STARFIRE is not set 715# CONFIG_ADAPTEC_STARFIRE is not set
664# CONFIG_B44 is not set 716# CONFIG_B44 is not set
665# CONFIG_FORCEDETH is not set 717# CONFIG_FORCEDETH is not set
666# CONFIG_DGRS is not set
667# CONFIG_EEPRO100 is not set 718# CONFIG_EEPRO100 is not set
668# CONFIG_E100 is not set 719# CONFIG_E100 is not set
669# CONFIG_FEALNX is not set 720# CONFIG_FEALNX is not set
@@ -682,6 +733,7 @@ CONFIG_NETDEV_1000=y
682CONFIG_E1000=y 733CONFIG_E1000=y
683CONFIG_E1000_NAPI=y 734CONFIG_E1000_NAPI=y
684# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 735# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
736# CONFIG_E1000E is not set
685# CONFIG_NS83820 is not set 737# CONFIG_NS83820 is not set
686# CONFIG_HAMACHI is not set 738# CONFIG_HAMACHI is not set
687# CONFIG_YELLOWFIN is not set 739# CONFIG_YELLOWFIN is not set
@@ -689,6 +741,7 @@ CONFIG_E1000_NAPI=y
689# CONFIG_SIS190 is not set 741# CONFIG_SIS190 is not set
690# CONFIG_SKGE is not set 742# CONFIG_SKGE is not set
691# CONFIG_SKY2 is not set 743# CONFIG_SKY2 is not set
744# CONFIG_SK98LIN is not set
692# CONFIG_VIA_VELOCITY is not set 745# CONFIG_VIA_VELOCITY is not set
693CONFIG_TIGON3=y 746CONFIG_TIGON3=y
694# CONFIG_BNX2 is not set 747# CONFIG_BNX2 is not set
@@ -697,12 +750,15 @@ CONFIG_TIGON3=y
697CONFIG_NETDEV_10000=y 750CONFIG_NETDEV_10000=y
698# CONFIG_CHELSIO_T1 is not set 751# CONFIG_CHELSIO_T1 is not set
699# CONFIG_CHELSIO_T3 is not set 752# CONFIG_CHELSIO_T3 is not set
753# CONFIG_IXGBE is not set
700# CONFIG_IXGB is not set 754# CONFIG_IXGB is not set
701# CONFIG_S2IO is not set 755# CONFIG_S2IO is not set
702# CONFIG_MYRI10GE is not set 756# CONFIG_MYRI10GE is not set
703# CONFIG_NETXEN_NIC is not set 757# CONFIG_NETXEN_NIC is not set
758# CONFIG_NIU is not set
704CONFIG_PASEMI_MAC=y 759CONFIG_PASEMI_MAC=y
705# CONFIG_MLX4_CORE is not set 760# CONFIG_MLX4_CORE is not set
761# CONFIG_TEHUTI is not set
706# CONFIG_TR is not set 762# CONFIG_TR is not set
707 763
708# 764#
@@ -749,7 +805,6 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
749CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 805CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
750CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 806CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
751CONFIG_INPUT_JOYDEV=y 807CONFIG_INPUT_JOYDEV=y
752# CONFIG_INPUT_TSDEV is not set
753CONFIG_INPUT_EVDEV=y 808CONFIG_INPUT_EVDEV=y
754# CONFIG_INPUT_EVBUG is not set 809# CONFIG_INPUT_EVBUG is not set
755 810
@@ -810,15 +865,12 @@ CONFIG_UNIX98_PTYS=y
810CONFIG_LEGACY_PTYS=y 865CONFIG_LEGACY_PTYS=y
811CONFIG_LEGACY_PTY_COUNT=4 866CONFIG_LEGACY_PTY_COUNT=4
812# CONFIG_IPMI_HANDLER is not set 867# CONFIG_IPMI_HANDLER is not set
813# CONFIG_WATCHDOG is not set
814CONFIG_HW_RANDOM=y 868CONFIG_HW_RANDOM=y
815CONFIG_HW_RANDOM_PASEMI=y 869CONFIG_HW_RANDOM_PASEMI=y
816CONFIG_GEN_RTC=y 870CONFIG_GEN_RTC=y
817CONFIG_GEN_RTC_X=y 871CONFIG_GEN_RTC_X=y
818# CONFIG_R3964 is not set 872# CONFIG_R3964 is not set
819# CONFIG_APPLICOM is not set 873# CONFIG_APPLICOM is not set
820# CONFIG_AGP is not set
821# CONFIG_DRM is not set
822 874
823# 875#
824# PCMCIA character devices 876# PCMCIA character devices
@@ -896,8 +948,6 @@ CONFIG_SENSORS_EEPROM=y
896# CONFIG_POWER_SUPPLY is not set 948# CONFIG_POWER_SUPPLY is not set
897CONFIG_HWMON=y 949CONFIG_HWMON=y
898CONFIG_HWMON_VID=y 950CONFIG_HWMON_VID=y
899# CONFIG_SENSORS_ABITUGURU is not set
900# CONFIG_SENSORS_ABITUGURU3 is not set
901# CONFIG_SENSORS_AD7418 is not set 951# CONFIG_SENSORS_AD7418 is not set
902# CONFIG_SENSORS_ADM1021 is not set 952# CONFIG_SENSORS_ADM1021 is not set
903# CONFIG_SENSORS_ADM1025 is not set 953# CONFIG_SENSORS_ADM1025 is not set
@@ -905,12 +955,12 @@ CONFIG_HWMON_VID=y
905# CONFIG_SENSORS_ADM1029 is not set 955# CONFIG_SENSORS_ADM1029 is not set
906# CONFIG_SENSORS_ADM1031 is not set 956# CONFIG_SENSORS_ADM1031 is not set
907# CONFIG_SENSORS_ADM9240 is not set 957# CONFIG_SENSORS_ADM9240 is not set
908# CONFIG_SENSORS_ASB100 is not set 958# CONFIG_SENSORS_ADT7470 is not set
909# CONFIG_SENSORS_ATXP1 is not set 959# CONFIG_SENSORS_ATXP1 is not set
910# CONFIG_SENSORS_DS1621 is not set 960# CONFIG_SENSORS_DS1621 is not set
911# CONFIG_SENSORS_F71805F is not set 961# CONFIG_SENSORS_F71805F is not set
912# CONFIG_SENSORS_FSCHER is not set 962# CONFIG_SENSORS_F71882FG is not set
913# CONFIG_SENSORS_FSCPOS is not set 963# CONFIG_SENSORS_F75375S is not set
914# CONFIG_SENSORS_GL518SM is not set 964# CONFIG_SENSORS_GL518SM is not set
915# CONFIG_SENSORS_GL520SM is not set 965# CONFIG_SENSORS_GL520SM is not set
916# CONFIG_SENSORS_IT87 is not set 966# CONFIG_SENSORS_IT87 is not set
@@ -946,6 +996,13 @@ CONFIG_SENSORS_LM90=y
946# CONFIG_SENSORS_W83627HF is not set 996# CONFIG_SENSORS_W83627HF is not set
947# CONFIG_SENSORS_W83627EHF is not set 997# CONFIG_SENSORS_W83627EHF is not set
948# CONFIG_HWMON_DEBUG_CHIP is not set 998# CONFIG_HWMON_DEBUG_CHIP is not set
999# CONFIG_WATCHDOG is not set
1000
1001#
1002# Sonics Silicon Backplane
1003#
1004CONFIG_SSB_POSSIBLE=y
1005# CONFIG_SSB is not set
949 1006
950# 1007#
951# Multifunction device drivers 1008# Multifunction device drivers
@@ -963,14 +1020,14 @@ CONFIG_DAB=y
963# 1020#
964# Graphics support 1021# Graphics support
965# 1022#
966CONFIG_BACKLIGHT_LCD_SUPPORT=y 1023# CONFIG_AGP is not set
967CONFIG_LCD_CLASS_DEVICE=m 1024CONFIG_DRM=y
968CONFIG_BACKLIGHT_CLASS_DEVICE=y 1025# CONFIG_DRM_TDFX is not set
969 1026# CONFIG_DRM_R128 is not set
970# 1027CONFIG_DRM_RADEON=y
971# Display device support 1028# CONFIG_DRM_MGA is not set
972# 1029# CONFIG_DRM_VIA is not set
973# CONFIG_DISPLAY_SUPPORT is not set 1030# CONFIG_DRM_SAVAGE is not set
974CONFIG_VGASTATE=y 1031CONFIG_VGASTATE=y
975# CONFIG_VIDEO_OUTPUT_CONTROL is not set 1032# CONFIG_VIDEO_OUTPUT_CONTROL is not set
976CONFIG_FB=y 1033CONFIG_FB=y
@@ -979,6 +1036,7 @@ CONFIG_FB_DDC=y
979CONFIG_FB_CFB_FILLRECT=y 1036CONFIG_FB_CFB_FILLRECT=y
980CONFIG_FB_CFB_COPYAREA=y 1037CONFIG_FB_CFB_COPYAREA=y
981CONFIG_FB_CFB_IMAGEBLIT=y 1038CONFIG_FB_CFB_IMAGEBLIT=y
1039# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
982# CONFIG_FB_SYS_FILLRECT is not set 1040# CONFIG_FB_SYS_FILLRECT is not set
983# CONFIG_FB_SYS_COPYAREA is not set 1041# CONFIG_FB_SYS_COPYAREA is not set
984# CONFIG_FB_SYS_IMAGEBLIT is not set 1042# CONFIG_FB_SYS_IMAGEBLIT is not set
@@ -1026,6 +1084,15 @@ CONFIG_FB_RADEON_BACKLIGHT=y
1026# CONFIG_FB_PM3 is not set 1084# CONFIG_FB_PM3 is not set
1027# CONFIG_FB_IBM_GXT4500 is not set 1085# CONFIG_FB_IBM_GXT4500 is not set
1028# CONFIG_FB_VIRTUAL is not set 1086# CONFIG_FB_VIRTUAL is not set
1087CONFIG_BACKLIGHT_LCD_SUPPORT=y
1088# CONFIG_LCD_CLASS_DEVICE is not set
1089CONFIG_BACKLIGHT_CLASS_DEVICE=y
1090# CONFIG_BACKLIGHT_CORGI is not set
1091
1092#
1093# Display device support
1094#
1095# CONFIG_DISPLAY_SUPPORT is not set
1029 1096
1030# 1097#
1031# Console display driver support 1098# Console display driver support
@@ -1178,6 +1245,7 @@ CONFIG_SND_USB_USX2Y=y
1178CONFIG_HID_SUPPORT=y 1245CONFIG_HID_SUPPORT=y
1179CONFIG_HID=y 1246CONFIG_HID=y
1180# CONFIG_HID_DEBUG is not set 1247# CONFIG_HID_DEBUG is not set
1248# CONFIG_HIDRAW is not set
1181 1249
1182# 1250#
1183# USB Input Devices 1251# USB Input Devices
@@ -1328,6 +1396,7 @@ CONFIG_RTC_INTF_DEV=y
1328# I2C RTC drivers 1396# I2C RTC drivers
1329# 1397#
1330CONFIG_RTC_DRV_DS1307=y 1398CONFIG_RTC_DRV_DS1307=y
1399# CONFIG_RTC_DRV_DS1374 is not set
1331# CONFIG_RTC_DRV_DS1672 is not set 1400# CONFIG_RTC_DRV_DS1672 is not set
1332# CONFIG_RTC_DRV_MAX6900 is not set 1401# CONFIG_RTC_DRV_MAX6900 is not set
1333# CONFIG_RTC_DRV_RS5C372 is not set 1402# CONFIG_RTC_DRV_RS5C372 is not set
@@ -1357,19 +1426,6 @@ CONFIG_RTC_DRV_DS1307=y
1357# 1426#
1358 1427
1359# 1428#
1360# DMA Engine support
1361#
1362# CONFIG_DMA_ENGINE is not set
1363
1364#
1365# DMA Clients
1366#
1367
1368#
1369# DMA Devices
1370#
1371
1372#
1373# Userspace I/O 1429# Userspace I/O
1374# 1430#
1375# CONFIG_UIO is not set 1431# CONFIG_UIO is not set
@@ -1388,7 +1444,6 @@ CONFIG_EXT3_FS_XATTR=y
1388# CONFIG_EXT3_FS_SECURITY is not set 1444# CONFIG_EXT3_FS_SECURITY is not set
1389# CONFIG_EXT4DEV_FS is not set 1445# CONFIG_EXT4DEV_FS is not set
1390CONFIG_JBD=y 1446CONFIG_JBD=y
1391# CONFIG_JBD_DEBUG is not set
1392CONFIG_FS_MBCACHE=y 1447CONFIG_FS_MBCACHE=y
1393# CONFIG_REISERFS_FS is not set 1448# CONFIG_REISERFS_FS is not set
1394# CONFIG_JFS_FS is not set 1449# CONFIG_JFS_FS is not set
@@ -1436,7 +1491,6 @@ CONFIG_TMPFS=y
1436# CONFIG_TMPFS_POSIX_ACL is not set 1491# CONFIG_TMPFS_POSIX_ACL is not set
1437CONFIG_HUGETLBFS=y 1492CONFIG_HUGETLBFS=y
1438CONFIG_HUGETLB_PAGE=y 1493CONFIG_HUGETLB_PAGE=y
1439CONFIG_RAMFS=y
1440CONFIG_CONFIGFS_FS=y 1494CONFIG_CONFIGFS_FS=y
1441 1495
1442# 1496#
@@ -1449,30 +1503,43 @@ CONFIG_CONFIGFS_FS=y
1449# CONFIG_BEFS_FS is not set 1503# CONFIG_BEFS_FS is not set
1450# CONFIG_BFS_FS is not set 1504# CONFIG_BFS_FS is not set
1451# CONFIG_EFS_FS is not set 1505# CONFIG_EFS_FS is not set
1452# CONFIG_JFFS2_FS is not set 1506CONFIG_JFFS2_FS=y
1507CONFIG_JFFS2_FS_DEBUG=0
1508CONFIG_JFFS2_FS_WRITEBUFFER=y
1509# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
1510# CONFIG_JFFS2_SUMMARY is not set
1511# CONFIG_JFFS2_FS_XATTR is not set
1512# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1513CONFIG_JFFS2_ZLIB=y
1514# CONFIG_JFFS2_LZO is not set
1515CONFIG_JFFS2_RTIME=y
1516# CONFIG_JFFS2_RUBIN is not set
1453# CONFIG_CRAMFS is not set 1517# CONFIG_CRAMFS is not set
1454# CONFIG_VXFS_FS is not set 1518# CONFIG_VXFS_FS is not set
1455# CONFIG_HPFS_FS is not set 1519# CONFIG_HPFS_FS is not set
1456# CONFIG_QNX4FS_FS is not set 1520# CONFIG_QNX4FS_FS is not set
1457# CONFIG_SYSV_FS is not set 1521# CONFIG_SYSV_FS is not set
1458# CONFIG_UFS_FS is not set 1522# CONFIG_UFS_FS is not set
1459 1523CONFIG_NETWORK_FILESYSTEMS=y
1460#
1461# Network File Systems
1462#
1463CONFIG_NFS_FS=y 1524CONFIG_NFS_FS=y
1464CONFIG_NFS_V3=y 1525CONFIG_NFS_V3=y
1465# CONFIG_NFS_V3_ACL is not set 1526# CONFIG_NFS_V3_ACL is not set
1466# CONFIG_NFS_V4 is not set 1527# CONFIG_NFS_V4 is not set
1467# CONFIG_NFS_DIRECTIO is not set 1528# CONFIG_NFS_DIRECTIO is not set
1468# CONFIG_NFSD is not set 1529CONFIG_NFSD=y
1530CONFIG_NFSD_V3=y
1531# CONFIG_NFSD_V3_ACL is not set
1532CONFIG_NFSD_V4=y
1533CONFIG_NFSD_TCP=y
1469CONFIG_ROOT_NFS=y 1534CONFIG_ROOT_NFS=y
1470CONFIG_LOCKD=y 1535CONFIG_LOCKD=y
1471CONFIG_LOCKD_V4=y 1536CONFIG_LOCKD_V4=y
1537CONFIG_EXPORTFS=y
1472CONFIG_NFS_COMMON=y 1538CONFIG_NFS_COMMON=y
1473CONFIG_SUNRPC=y 1539CONFIG_SUNRPC=y
1540CONFIG_SUNRPC_GSS=y
1474# CONFIG_SUNRPC_BIND34 is not set 1541# CONFIG_SUNRPC_BIND34 is not set
1475# CONFIG_RPCSEC_GSS_KRB5 is not set 1542CONFIG_RPCSEC_GSS_KRB5=y
1476# CONFIG_RPCSEC_GSS_SPKM3 is not set 1543# CONFIG_RPCSEC_GSS_SPKM3 is not set
1477# CONFIG_SMB_FS is not set 1544# CONFIG_SMB_FS is not set
1478# CONFIG_CIFS is not set 1545# CONFIG_CIFS is not set
@@ -1501,10 +1568,6 @@ CONFIG_MSDOS_PARTITION=y
1501# CONFIG_KARMA_PARTITION is not set 1568# CONFIG_KARMA_PARTITION is not set
1502# CONFIG_EFI_PARTITION is not set 1569# CONFIG_EFI_PARTITION is not set
1503# CONFIG_SYSV68_PARTITION is not set 1570# CONFIG_SYSV68_PARTITION is not set
1504
1505#
1506# Native Language Support
1507#
1508CONFIG_NLS=y 1571CONFIG_NLS=y
1509CONFIG_NLS_DEFAULT="iso8859-1" 1572CONFIG_NLS_DEFAULT="iso8859-1"
1510CONFIG_NLS_CODEPAGE_437=y 1573CONFIG_NLS_CODEPAGE_437=y
@@ -1545,10 +1608,6 @@ CONFIG_NLS_ISO8859_1=y
1545# CONFIG_NLS_KOI8_R is not set 1608# CONFIG_NLS_KOI8_R is not set
1546# CONFIG_NLS_KOI8_U is not set 1609# CONFIG_NLS_KOI8_U is not set
1547# CONFIG_NLS_UTF8 is not set 1610# CONFIG_NLS_UTF8 is not set
1548
1549#
1550# Distributed Lock Manager
1551#
1552# CONFIG_DLM is not set 1611# CONFIG_DLM is not set
1553# CONFIG_UCC_SLOW is not set 1612# CONFIG_UCC_SLOW is not set
1554 1613
@@ -1561,23 +1620,24 @@ CONFIG_CRC_CCITT=y
1561# CONFIG_CRC_ITU_T is not set 1620# CONFIG_CRC_ITU_T is not set
1562CONFIG_CRC32=y 1621CONFIG_CRC32=y
1563# CONFIG_CRC7 is not set 1622# CONFIG_CRC7 is not set
1564# CONFIG_LIBCRC32C is not set 1623CONFIG_LIBCRC32C=m
1624CONFIG_ZLIB_INFLATE=y
1625CONFIG_ZLIB_DEFLATE=y
1565CONFIG_PLIST=y 1626CONFIG_PLIST=y
1566CONFIG_HAS_IOMEM=y 1627CONFIG_HAS_IOMEM=y
1567CONFIG_HAS_IOPORT=y 1628CONFIG_HAS_IOPORT=y
1568CONFIG_HAS_DMA=y 1629CONFIG_HAS_DMA=y
1569 1630CONFIG_INSTRUMENTATION=y
1570#
1571# Instrumentation Support
1572#
1573CONFIG_PROFILING=y 1631CONFIG_PROFILING=y
1574CONFIG_OPROFILE=y 1632CONFIG_OPROFILE=y
1575# CONFIG_KPROBES is not set 1633# CONFIG_KPROBES is not set
1634# CONFIG_MARKERS is not set
1576 1635
1577# 1636#
1578# Kernel hacking 1637# Kernel hacking
1579# 1638#
1580# CONFIG_PRINTK_TIME is not set 1639# CONFIG_PRINTK_TIME is not set
1640CONFIG_ENABLE_WARN_DEPRECATED=y
1581CONFIG_ENABLE_MUST_CHECK=y 1641CONFIG_ENABLE_MUST_CHECK=y
1582CONFIG_MAGIC_SYSRQ=y 1642CONFIG_MAGIC_SYSRQ=y
1583# CONFIG_UNUSED_SYMBOLS is not set 1643# CONFIG_UNUSED_SYMBOLS is not set
@@ -1586,7 +1646,7 @@ CONFIG_MAGIC_SYSRQ=y
1586CONFIG_DEBUG_KERNEL=y 1646CONFIG_DEBUG_KERNEL=y
1587# CONFIG_DEBUG_SHIRQ is not set 1647# CONFIG_DEBUG_SHIRQ is not set
1588CONFIG_DETECT_SOFTLOCKUP=y 1648CONFIG_DETECT_SOFTLOCKUP=y
1589CONFIG_SCHED_DEBUG=y 1649# CONFIG_SCHED_DEBUG is not set
1590# CONFIG_SCHEDSTATS is not set 1650# CONFIG_SCHEDSTATS is not set
1591# CONFIG_TIMER_STATS is not set 1651# CONFIG_TIMER_STATS is not set
1592# CONFIG_SLUB_DEBUG_ON is not set 1652# CONFIG_SLUB_DEBUG_ON is not set
@@ -1601,9 +1661,12 @@ CONFIG_DEBUG_BUGVERBOSE=y
1601# CONFIG_DEBUG_INFO is not set 1661# CONFIG_DEBUG_INFO is not set
1602# CONFIG_DEBUG_VM is not set 1662# CONFIG_DEBUG_VM is not set
1603# CONFIG_DEBUG_LIST is not set 1663# CONFIG_DEBUG_LIST is not set
1664# CONFIG_DEBUG_SG is not set
1604# CONFIG_FORCED_INLINING is not set 1665# CONFIG_FORCED_INLINING is not set
1666# CONFIG_BOOT_PRINTK_DELAY is not set
1605# CONFIG_RCU_TORTURE_TEST is not set 1667# CONFIG_RCU_TORTURE_TEST is not set
1606# CONFIG_FAULT_INJECTION is not set 1668# CONFIG_FAULT_INJECTION is not set
1669# CONFIG_SAMPLES is not set
1607# CONFIG_DEBUG_STACKOVERFLOW is not set 1670# CONFIG_DEBUG_STACKOVERFLOW is not set
1608# CONFIG_DEBUG_STACK_USAGE is not set 1671# CONFIG_DEBUG_STACK_USAGE is not set
1609# CONFIG_DEBUG_PAGEALLOC is not set 1672# CONFIG_DEBUG_PAGEALLOC is not set
@@ -1620,6 +1683,7 @@ CONFIG_XMON_DISASSEMBLY=y
1620# 1683#
1621# CONFIG_KEYS is not set 1684# CONFIG_KEYS is not set
1622# CONFIG_SECURITY is not set 1685# CONFIG_SECURITY is not set
1686# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1623CONFIG_CRYPTO=y 1687CONFIG_CRYPTO=y
1624CONFIG_CRYPTO_ALGAPI=y 1688CONFIG_CRYPTO_ALGAPI=y
1625CONFIG_CRYPTO_BLKCIPHER=y 1689CONFIG_CRYPTO_BLKCIPHER=y
@@ -1628,34 +1692,38 @@ CONFIG_CRYPTO_MANAGER=y
1628CONFIG_CRYPTO_HMAC=y 1692CONFIG_CRYPTO_HMAC=y
1629# CONFIG_CRYPTO_XCBC is not set 1693# CONFIG_CRYPTO_XCBC is not set
1630# CONFIG_CRYPTO_NULL is not set 1694# CONFIG_CRYPTO_NULL is not set
1631# CONFIG_CRYPTO_MD4 is not set 1695CONFIG_CRYPTO_MD4=y
1632CONFIG_CRYPTO_MD5=y 1696CONFIG_CRYPTO_MD5=y
1633CONFIG_CRYPTO_SHA1=y 1697CONFIG_CRYPTO_SHA1=y
1634# CONFIG_CRYPTO_SHA256 is not set 1698CONFIG_CRYPTO_SHA256=y
1635# CONFIG_CRYPTO_SHA512 is not set 1699CONFIG_CRYPTO_SHA512=y
1636# CONFIG_CRYPTO_WP512 is not set 1700# CONFIG_CRYPTO_WP512 is not set
1637# CONFIG_CRYPTO_TGR192 is not set 1701# CONFIG_CRYPTO_TGR192 is not set
1638# CONFIG_CRYPTO_GF128MUL is not set 1702# CONFIG_CRYPTO_GF128MUL is not set
1639CONFIG_CRYPTO_ECB=m 1703# CONFIG_CRYPTO_ECB is not set
1640CONFIG_CRYPTO_CBC=y 1704CONFIG_CRYPTO_CBC=y
1641CONFIG_CRYPTO_PCBC=m 1705# CONFIG_CRYPTO_PCBC is not set
1642# CONFIG_CRYPTO_LRW is not set 1706# CONFIG_CRYPTO_LRW is not set
1707# CONFIG_CRYPTO_XTS is not set
1643# CONFIG_CRYPTO_CRYPTD is not set 1708# CONFIG_CRYPTO_CRYPTD is not set
1644CONFIG_CRYPTO_DES=y 1709CONFIG_CRYPTO_DES=y
1645# CONFIG_CRYPTO_FCRYPT is not set 1710# CONFIG_CRYPTO_FCRYPT is not set
1646# CONFIG_CRYPTO_BLOWFISH is not set 1711CONFIG_CRYPTO_BLOWFISH=y
1647# CONFIG_CRYPTO_TWOFISH is not set 1712# CONFIG_CRYPTO_TWOFISH is not set
1648# CONFIG_CRYPTO_SERPENT is not set 1713# CONFIG_CRYPTO_SERPENT is not set
1649# CONFIG_CRYPTO_AES is not set 1714CONFIG_CRYPTO_AES=y
1650# CONFIG_CRYPTO_CAST5 is not set 1715# CONFIG_CRYPTO_CAST5 is not set
1651# CONFIG_CRYPTO_CAST6 is not set 1716# CONFIG_CRYPTO_CAST6 is not set
1652# CONFIG_CRYPTO_TEA is not set 1717# CONFIG_CRYPTO_TEA is not set
1653# CONFIG_CRYPTO_ARC4 is not set 1718# CONFIG_CRYPTO_ARC4 is not set
1654# CONFIG_CRYPTO_KHAZAD is not set 1719# CONFIG_CRYPTO_KHAZAD is not set
1655# CONFIG_CRYPTO_ANUBIS is not set 1720# CONFIG_CRYPTO_ANUBIS is not set
1721# CONFIG_CRYPTO_SEED is not set
1656# CONFIG_CRYPTO_DEFLATE is not set 1722# CONFIG_CRYPTO_DEFLATE is not set
1657# CONFIG_CRYPTO_MICHAEL_MIC is not set 1723# CONFIG_CRYPTO_MICHAEL_MIC is not set
1658# CONFIG_CRYPTO_CRC32C is not set 1724# CONFIG_CRYPTO_CRC32C is not set
1659# CONFIG_CRYPTO_CAMELLIA is not set 1725# CONFIG_CRYPTO_CAMELLIA is not set
1660# CONFIG_CRYPTO_TEST is not set 1726# CONFIG_CRYPTO_TEST is not set
1661# CONFIG_CRYPTO_HW is not set 1727# CONFIG_CRYPTO_AUTHENC is not set
1728CONFIG_CRYPTO_HW=y
1729# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig
index 05582af50c5b..3e90c835fe12 100644
--- a/arch/powerpc/configs/ppc64_defconfig
+++ b/arch/powerpc/configs/ppc64_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.23-rc4 3# Linux kernel version: 2.6.24-rc2
4# Thu Aug 30 16:47:09 2007 4# Tue Nov 6 23:43:56 2007
5# 5#
6CONFIG_PPC64=y 6CONFIG_PPC64=y
7 7
@@ -11,6 +11,7 @@ CONFIG_PPC64=y
11# CONFIG_POWER4_ONLY is not set 11# CONFIG_POWER4_ONLY is not set
12CONFIG_POWER3=y 12CONFIG_POWER3=y
13CONFIG_POWER4=y 13CONFIG_POWER4=y
14# CONFIG_TUNE_CELL is not set
14CONFIG_PPC_FPU=y 15CONFIG_PPC_FPU=y
15CONFIG_ALTIVEC=y 16CONFIG_ALTIVEC=y
16CONFIG_PPC_STD_MMU=y 17CONFIG_PPC_STD_MMU=y
@@ -19,8 +20,13 @@ CONFIG_VIRT_CPU_ACCOUNTING=y
19CONFIG_SMP=y 20CONFIG_SMP=y
20CONFIG_NR_CPUS=32 21CONFIG_NR_CPUS=32
21CONFIG_64BIT=y 22CONFIG_64BIT=y
23CONFIG_WORD_SIZE=64
22CONFIG_PPC_MERGE=y 24CONFIG_PPC_MERGE=y
23CONFIG_MMU=y 25CONFIG_MMU=y
26CONFIG_GENERIC_CMOS_UPDATE=y
27CONFIG_GENERIC_TIME=y
28CONFIG_GENERIC_TIME_VSYSCALL=y
29CONFIG_GENERIC_CLOCKEVENTS=y
24CONFIG_GENERIC_HARDIRQS=y 30CONFIG_GENERIC_HARDIRQS=y
25CONFIG_IRQ_PER_CPU=y 31CONFIG_IRQ_PER_CPU=y
26CONFIG_RWSEM_XCHGADD_ALGORITHM=y 32CONFIG_RWSEM_XCHGADD_ALGORITHM=y
@@ -72,8 +78,15 @@ CONFIG_IKCONFIG=y
72CONFIG_IKCONFIG_PROC=y 78CONFIG_IKCONFIG_PROC=y
73CONFIG_LOG_BUF_SHIFT=17 79CONFIG_LOG_BUF_SHIFT=17
74CONFIG_CGROUPS=y 80CONFIG_CGROUPS=y
81# CONFIG_CGROUP_DEBUG is not set
82# CONFIG_CGROUP_NS is not set
83# CONFIG_CGROUP_CPUACCT is not set
75CONFIG_CPUSETS=y 84CONFIG_CPUSETS=y
85CONFIG_FAIR_GROUP_SCHED=y
86CONFIG_FAIR_USER_SCHED=y
87# CONFIG_FAIR_CGROUP_SCHED is not set
76CONFIG_SYSFS_DEPRECATED=y 88CONFIG_SYSFS_DEPRECATED=y
89CONFIG_PROC_PID_CPUSET=y
77CONFIG_RELAY=y 90CONFIG_RELAY=y
78CONFIG_BLK_DEV_INITRD=y 91CONFIG_BLK_DEV_INITRD=y
79CONFIG_INITRAMFS_SOURCE="" 92CONFIG_INITRAMFS_SOURCE=""
@@ -93,7 +106,6 @@ CONFIG_FUTEX=y
93CONFIG_ANON_INODES=y 106CONFIG_ANON_INODES=y
94CONFIG_EPOLL=y 107CONFIG_EPOLL=y
95CONFIG_SIGNALFD=y 108CONFIG_SIGNALFD=y
96CONFIG_TIMERFD=y
97CONFIG_EVENTFD=y 109CONFIG_EVENTFD=y
98CONFIG_SHMEM=y 110CONFIG_SHMEM=y
99CONFIG_VM_EVENT_COUNTERS=y 111CONFIG_VM_EVENT_COUNTERS=y
@@ -114,6 +126,7 @@ CONFIG_STOP_MACHINE=y
114CONFIG_BLOCK=y 126CONFIG_BLOCK=y
115CONFIG_BLK_DEV_IO_TRACE=y 127CONFIG_BLK_DEV_IO_TRACE=y
116CONFIG_BLK_DEV_BSG=y 128CONFIG_BLK_DEV_BSG=y
129CONFIG_BLOCK_COMPAT=y
117 130
118# 131#
119# IO Schedulers 132# IO Schedulers
@@ -132,7 +145,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
132# Platform support 145# Platform support
133# 146#
134CONFIG_PPC_MULTIPLATFORM=y 147CONFIG_PPC_MULTIPLATFORM=y
135# CONFIG_EMBEDDED6xx is not set
136# CONFIG_PPC_82xx is not set 148# CONFIG_PPC_82xx is not set
137# CONFIG_PPC_83xx is not set 149# CONFIG_PPC_83xx is not set
138# CONFIG_PPC_86xx is not set 150# CONFIG_PPC_86xx is not set
@@ -155,7 +167,15 @@ CONFIG_VIOPATH=y
155CONFIG_PPC_PMAC=y 167CONFIG_PPC_PMAC=y
156CONFIG_PPC_PMAC64=y 168CONFIG_PPC_PMAC64=y
157CONFIG_PPC_MAPLE=y 169CONFIG_PPC_MAPLE=y
158# CONFIG_PPC_PASEMI is not set 170CONFIG_PPC_PASEMI=y
171
172#
173# PA Semi PWRficient options
174#
175CONFIG_PPC_PASEMI_IOMMU=y
176# CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set
177CONFIG_PPC_PASEMI_MDIO=y
178CONFIG_ELECTRA_IDE=y
159CONFIG_PPC_CELLEB=y 179CONFIG_PPC_CELLEB=y
160# CONFIG_PPC_PS3 is not set 180# CONFIG_PPC_PS3 is not set
161CONFIG_PPC_CELL=y 181CONFIG_PPC_CELL=y
@@ -188,6 +208,7 @@ CONFIG_RTAS_FLASH=m
188CONFIG_PPC_PMI=m 208CONFIG_PPC_PMI=m
189CONFIG_MMIO_NVRAM=y 209CONFIG_MMIO_NVRAM=y
190CONFIG_MPIC_U3_HT_IRQS=y 210CONFIG_MPIC_U3_HT_IRQS=y
211CONFIG_MPIC_BROKEN_REGREAD=y
191CONFIG_IBMVIO=y 212CONFIG_IBMVIO=y
192# CONFIG_IBMEBUS is not set 213# CONFIG_IBMEBUS is not set
193# CONFIG_PPC_MPC106 is not set 214# CONFIG_PPC_MPC106 is not set
@@ -201,6 +222,8 @@ CONFIG_CPU_FREQ_STAT=y
201# CONFIG_CPU_FREQ_STAT_DETAILS is not set 222# CONFIG_CPU_FREQ_STAT_DETAILS is not set
202CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y 223CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
203# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set 224# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
225# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
226# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
204CONFIG_CPU_FREQ_GOV_PERFORMANCE=y 227CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
205CONFIG_CPU_FREQ_GOV_POWERSAVE=y 228CONFIG_CPU_FREQ_GOV_POWERSAVE=y
206CONFIG_CPU_FREQ_GOV_USERSPACE=y 229CONFIG_CPU_FREQ_GOV_USERSPACE=y
@@ -211,6 +234,7 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y
211# CPU Frequency drivers 234# CPU Frequency drivers
212# 235#
213CONFIG_CPU_FREQ_PMAC64=y 236CONFIG_CPU_FREQ_PMAC64=y
237CONFIG_PPC_PASEMI_CPUFREQ=y
214# CONFIG_CPM2 is not set 238# CONFIG_CPM2 is not set
215CONFIG_AXON_RAM=m 239CONFIG_AXON_RAM=m
216# CONFIG_FSL_ULI1575 is not set 240# CONFIG_FSL_ULI1575 is not set
@@ -254,6 +278,8 @@ CONFIG_SPARSEMEM=y
254CONFIG_HAVE_MEMORY_PRESENT=y 278CONFIG_HAVE_MEMORY_PRESENT=y
255# CONFIG_SPARSEMEM_STATIC is not set 279# CONFIG_SPARSEMEM_STATIC is not set
256CONFIG_SPARSEMEM_EXTREME=y 280CONFIG_SPARSEMEM_EXTREME=y
281CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
282CONFIG_SPARSEMEM_VMEMMAP=y
257CONFIG_MEMORY_HOTPLUG=y 283CONFIG_MEMORY_HOTPLUG=y
258CONFIG_MEMORY_HOTPLUG_SPARSE=y 284CONFIG_MEMORY_HOTPLUG_SPARSE=y
259CONFIG_SPLIT_PTLOCK_CPUS=4 285CONFIG_SPLIT_PTLOCK_CPUS=4
@@ -268,6 +294,7 @@ CONFIG_PROC_DEVICETREE=y
268# CONFIG_CMDLINE_BOOL is not set 294# CONFIG_CMDLINE_BOOL is not set
269# CONFIG_PM is not set 295# CONFIG_PM is not set
270CONFIG_SUSPEND_SMP_POSSIBLE=y 296CONFIG_SUSPEND_SMP_POSSIBLE=y
297CONFIG_HIBERNATION_SMP_POSSIBLE=y
271CONFIG_SECCOMP=y 298CONFIG_SECCOMP=y
272# CONFIG_WANT_DEVICE_TREE is not set 299# CONFIG_WANT_DEVICE_TREE is not set
273CONFIG_ISA_DMA_API=y 300CONFIG_ISA_DMA_API=y
@@ -284,12 +311,22 @@ CONFIG_PCI_SYSCALL=y
284# CONFIG_PCIEPORTBUS is not set 311# CONFIG_PCIEPORTBUS is not set
285CONFIG_ARCH_SUPPORTS_MSI=y 312CONFIG_ARCH_SUPPORTS_MSI=y
286CONFIG_PCI_MSI=y 313CONFIG_PCI_MSI=y
314CONFIG_PCI_LEGACY=y
287# CONFIG_PCI_DEBUG is not set 315# CONFIG_PCI_DEBUG is not set
316CONFIG_PCCARD=y
317# CONFIG_PCMCIA_DEBUG is not set
318CONFIG_PCMCIA=y
319CONFIG_PCMCIA_LOAD_CIS=y
320CONFIG_PCMCIA_IOCTL=y
321CONFIG_CARDBUS=y
288 322
289# 323#
290# PCCARD (PCMCIA/CardBus) support 324# PC-card bridges
291# 325#
292# CONFIG_PCCARD is not set 326# CONFIG_YENTA is not set
327# CONFIG_PD6729 is not set
328# CONFIG_I82092 is not set
329CONFIG_ELECTRA_CF=y
293CONFIG_HOTPLUG_PCI=m 330CONFIG_HOTPLUG_PCI=m
294# CONFIG_HOTPLUG_PCI_FAKE is not set 331# CONFIG_HOTPLUG_PCI_FAKE is not set
295# CONFIG_HOTPLUG_PCI_CPCI is not set 332# CONFIG_HOTPLUG_PCI_CPCI is not set
@@ -319,7 +356,10 @@ CONFIG_INET=y
319CONFIG_IP_MULTICAST=y 356CONFIG_IP_MULTICAST=y
320# CONFIG_IP_ADVANCED_ROUTER is not set 357# CONFIG_IP_ADVANCED_ROUTER is not set
321CONFIG_IP_FIB_HASH=y 358CONFIG_IP_FIB_HASH=y
322# CONFIG_IP_PNP is not set 359CONFIG_IP_PNP=y
360CONFIG_IP_PNP_DHCP=y
361CONFIG_IP_PNP_BOOTP=y
362# CONFIG_IP_PNP_RARP is not set
323CONFIG_NET_IPIP=y 363CONFIG_NET_IPIP=y
324# CONFIG_NET_IPGRE is not set 364# CONFIG_NET_IPGRE is not set
325# CONFIG_IP_MROUTE is not set 365# CONFIG_IP_MROUTE is not set
@@ -333,6 +373,7 @@ CONFIG_INET_TUNNEL=y
333CONFIG_INET_XFRM_MODE_TRANSPORT=y 373CONFIG_INET_XFRM_MODE_TRANSPORT=y
334CONFIG_INET_XFRM_MODE_TUNNEL=y 374CONFIG_INET_XFRM_MODE_TUNNEL=y
335CONFIG_INET_XFRM_MODE_BEET=y 375CONFIG_INET_XFRM_MODE_BEET=y
376# CONFIG_INET_LRO is not set
336CONFIG_INET_DIAG=y 377CONFIG_INET_DIAG=y
337CONFIG_INET_TCP_DIAG=y 378CONFIG_INET_TCP_DIAG=y
338# CONFIG_TCP_CONG_ADVANCED is not set 379# CONFIG_TCP_CONG_ADVANCED is not set
@@ -404,6 +445,7 @@ CONFIG_NETFILTER_XT_MATCH_STATE=m
404CONFIG_NETFILTER_XT_MATCH_STATISTIC=m 445CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
405CONFIG_NETFILTER_XT_MATCH_STRING=m 446CONFIG_NETFILTER_XT_MATCH_STRING=m
406CONFIG_NETFILTER_XT_MATCH_TCPMSS=m 447CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
448# CONFIG_NETFILTER_XT_MATCH_TIME is not set
407CONFIG_NETFILTER_XT_MATCH_U32=m 449CONFIG_NETFILTER_XT_MATCH_U32=m
408CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 450CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
409 451
@@ -465,10 +507,6 @@ CONFIG_LLC=y
465# CONFIG_LAPB is not set 507# CONFIG_LAPB is not set
466# CONFIG_ECONET is not set 508# CONFIG_ECONET is not set
467# CONFIG_WAN_ROUTER is not set 509# CONFIG_WAN_ROUTER is not set
468
469#
470# QoS and/or fair queueing
471#
472# CONFIG_NET_SCHED is not set 510# CONFIG_NET_SCHED is not set
473CONFIG_NET_CLS_ROUTE=y 511CONFIG_NET_CLS_ROUTE=y
474 512
@@ -498,6 +536,7 @@ CONFIG_NET_CLS_ROUTE=y
498# 536#
499# Generic Driver Options 537# Generic Driver Options
500# 538#
539CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
501CONFIG_STANDALONE=y 540CONFIG_STANDALONE=y
502CONFIG_PREVENT_FIRMWARE_BUILD=y 541CONFIG_PREVENT_FIRMWARE_BUILD=y
503CONFIG_FW_LOADER=y 542CONFIG_FW_LOADER=y
@@ -539,6 +578,8 @@ CONFIG_BLK_DEV_IDE=y
539# CONFIG_BLK_DEV_IDE_SATA is not set 578# CONFIG_BLK_DEV_IDE_SATA is not set
540CONFIG_BLK_DEV_IDEDISK=y 579CONFIG_BLK_DEV_IDEDISK=y
541# CONFIG_IDEDISK_MULTI_MODE is not set 580# CONFIG_IDEDISK_MULTI_MODE is not set
581# CONFIG_BLK_DEV_IDECS is not set
582# CONFIG_BLK_DEV_DELKIN is not set
542CONFIG_BLK_DEV_IDECD=y 583CONFIG_BLK_DEV_IDECD=y
543# CONFIG_BLK_DEV_IDETAPE is not set 584# CONFIG_BLK_DEV_IDETAPE is not set
544# CONFIG_BLK_DEV_IDEFLOPPY is not set 585# CONFIG_BLK_DEV_IDEFLOPPY is not set
@@ -550,6 +591,11 @@ CONFIG_IDE_PROC_FS=y
550# IDE chipset support/bugfixes 591# IDE chipset support/bugfixes
551# 592#
552CONFIG_IDE_GENERIC=y 593CONFIG_IDE_GENERIC=y
594# CONFIG_BLK_DEV_PLATFORM is not set
595
596#
597# PCI IDE chipsets support
598#
553CONFIG_BLK_DEV_IDEPCI=y 599CONFIG_BLK_DEV_IDEPCI=y
554CONFIG_IDEPCI_SHARE_IRQ=y 600CONFIG_IDEPCI_SHARE_IRQ=y
555CONFIG_IDEPCI_PCIBUS_ORDER=y 601CONFIG_IDEPCI_PCIBUS_ORDER=y
@@ -557,8 +603,6 @@ CONFIG_IDEPCI_PCIBUS_ORDER=y
557CONFIG_BLK_DEV_GENERIC=y 603CONFIG_BLK_DEV_GENERIC=y
558# CONFIG_BLK_DEV_OPTI621 is not set 604# CONFIG_BLK_DEV_OPTI621 is not set
559CONFIG_BLK_DEV_IDEDMA_PCI=y 605CONFIG_BLK_DEV_IDEDMA_PCI=y
560# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
561# CONFIG_IDEDMA_ONLYDISK is not set
562# CONFIG_BLK_DEV_AEC62XX is not set 606# CONFIG_BLK_DEV_AEC62XX is not set
563# CONFIG_BLK_DEV_ALI15X3 is not set 607# CONFIG_BLK_DEV_ALI15X3 is not set
564CONFIG_BLK_DEV_AMD74XX=y 608CONFIG_BLK_DEV_AMD74XX=y
@@ -590,7 +634,7 @@ CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
590CONFIG_BLK_DEV_IDEDMA_PMAC=y 634CONFIG_BLK_DEV_IDEDMA_PMAC=y
591# CONFIG_IDE_ARM is not set 635# CONFIG_IDE_ARM is not set
592CONFIG_BLK_DEV_IDEDMA=y 636CONFIG_BLK_DEV_IDEDMA=y
593# CONFIG_IDEDMA_IVB is not set 637CONFIG_IDE_ARCH_OBSOLETE_INIT=y
594# CONFIG_BLK_DEV_HD is not set 638# CONFIG_BLK_DEV_HD is not set
595 639
596# 640#
@@ -631,6 +675,7 @@ CONFIG_SCSI_FC_ATTRS=y
631CONFIG_SCSI_ISCSI_ATTRS=m 675CONFIG_SCSI_ISCSI_ATTRS=m
632# CONFIG_SCSI_SAS_ATTRS is not set 676# CONFIG_SCSI_SAS_ATTRS is not set
633# CONFIG_SCSI_SAS_LIBSAS is not set 677# CONFIG_SCSI_SAS_LIBSAS is not set
678CONFIG_SCSI_SRP_ATTRS=y
634CONFIG_SCSI_LOWLEVEL=y 679CONFIG_SCSI_LOWLEVEL=y
635# CONFIG_ISCSI_TCP is not set 680# CONFIG_ISCSI_TCP is not set
636# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 681# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
@@ -671,19 +716,20 @@ CONFIG_SCSI_LPFC=m
671# CONFIG_SCSI_DC390T is not set 716# CONFIG_SCSI_DC390T is not set
672CONFIG_SCSI_DEBUG=m 717CONFIG_SCSI_DEBUG=m
673# CONFIG_SCSI_SRP is not set 718# CONFIG_SCSI_SRP is not set
719# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
674CONFIG_ATA=y 720CONFIG_ATA=y
675CONFIG_ATA_NONSTANDARD=y 721CONFIG_ATA_NONSTANDARD=y
676# CONFIG_SATA_AHCI is not set 722# CONFIG_SATA_AHCI is not set
677CONFIG_SATA_SVW=y 723CONFIG_SATA_SVW=y
678# CONFIG_ATA_PIIX is not set 724# CONFIG_ATA_PIIX is not set
679# CONFIG_SATA_MV is not set 725CONFIG_SATA_MV=y
680# CONFIG_SATA_NV is not set 726# CONFIG_SATA_NV is not set
681# CONFIG_PDC_ADMA is not set 727# CONFIG_PDC_ADMA is not set
682# CONFIG_SATA_QSTOR is not set 728# CONFIG_SATA_QSTOR is not set
683# CONFIG_SATA_PROMISE is not set 729# CONFIG_SATA_PROMISE is not set
684# CONFIG_SATA_SX4 is not set 730# CONFIG_SATA_SX4 is not set
685# CONFIG_SATA_SIL is not set 731# CONFIG_SATA_SIL is not set
686# CONFIG_SATA_SIL24 is not set 732CONFIG_SATA_SIL24=y
687# CONFIG_SATA_SIS is not set 733# CONFIG_SATA_SIS is not set
688# CONFIG_SATA_ULI is not set 734# CONFIG_SATA_ULI is not set
689# CONFIG_SATA_VIA is not set 735# CONFIG_SATA_VIA is not set
@@ -713,8 +759,10 @@ CONFIG_SATA_SVW=y
713# CONFIG_PATA_OLDPIIX is not set 759# CONFIG_PATA_OLDPIIX is not set
714# CONFIG_PATA_NETCELL is not set 760# CONFIG_PATA_NETCELL is not set
715# CONFIG_PATA_NS87410 is not set 761# CONFIG_PATA_NS87410 is not set
762# CONFIG_PATA_NS87415 is not set
716# CONFIG_PATA_OPTI is not set 763# CONFIG_PATA_OPTI is not set
717# CONFIG_PATA_OPTIDMA is not set 764# CONFIG_PATA_OPTIDMA is not set
765CONFIG_PATA_PCMCIA=y
718# CONFIG_PATA_PDC_OLD is not set 766# CONFIG_PATA_PDC_OLD is not set
719# CONFIG_PATA_RADISYS is not set 767# CONFIG_PATA_RADISYS is not set
720# CONFIG_PATA_RZ1000 is not set 768# CONFIG_PATA_RZ1000 is not set
@@ -725,6 +773,7 @@ CONFIG_SATA_SVW=y
725# CONFIG_PATA_SIS is not set 773# CONFIG_PATA_SIS is not set
726# CONFIG_PATA_VIA is not set 774# CONFIG_PATA_VIA is not set
727CONFIG_PATA_WINBOND=y 775CONFIG_PATA_WINBOND=y
776CONFIG_PATA_PLATFORM=y
728CONFIG_PATA_SCC=y 777CONFIG_PATA_SCC=y
729CONFIG_MD=y 778CONFIG_MD=y
730CONFIG_BLK_DEV_MD=y 779CONFIG_BLK_DEV_MD=y
@@ -745,15 +794,10 @@ CONFIG_DM_ZERO=m
745CONFIG_DM_MULTIPATH=m 794CONFIG_DM_MULTIPATH=m
746CONFIG_DM_MULTIPATH_EMC=m 795CONFIG_DM_MULTIPATH_EMC=m
747# CONFIG_DM_MULTIPATH_RDAC is not set 796# CONFIG_DM_MULTIPATH_RDAC is not set
797# CONFIG_DM_MULTIPATH_HP is not set
748# CONFIG_DM_DELAY is not set 798# CONFIG_DM_DELAY is not set
749 799# CONFIG_DM_UEVENT is not set
750#
751# Fusion MPT device support
752#
753# CONFIG_FUSION is not set 800# CONFIG_FUSION is not set
754# CONFIG_FUSION_SPI is not set
755# CONFIG_FUSION_FC is not set
756# CONFIG_FUSION_SAS is not set
757 801
758# 802#
759# IEEE 1394 (FireWire) support 803# IEEE 1394 (FireWire) support
@@ -800,13 +844,15 @@ CONFIG_BONDING=m
800# CONFIG_MACVLAN is not set 844# CONFIG_MACVLAN is not set
801# CONFIG_EQUALIZER is not set 845# CONFIG_EQUALIZER is not set
802CONFIG_TUN=m 846CONFIG_TUN=m
847# CONFIG_VETH is not set
848# CONFIG_IP1000 is not set
803# CONFIG_ARCNET is not set 849# CONFIG_ARCNET is not set
804CONFIG_PHYLIB=m 850CONFIG_PHYLIB=y
805 851
806# 852#
807# MII PHY device drivers 853# MII PHY device drivers
808# 854#
809CONFIG_MARVELL_PHY=m 855CONFIG_MARVELL_PHY=y
810# CONFIG_DAVICOM_PHY is not set 856# CONFIG_DAVICOM_PHY is not set
811# CONFIG_QSEMI_PHY is not set 857# CONFIG_QSEMI_PHY is not set
812# CONFIG_LXT_PHY is not set 858# CONFIG_LXT_PHY is not set
@@ -818,6 +864,9 @@ CONFIG_BROADCOM_PHY=m
818CONFIG_FIXED_PHY=m 864CONFIG_FIXED_PHY=m
819CONFIG_FIXED_MII_10_FDX=y 865CONFIG_FIXED_MII_10_FDX=y
820CONFIG_FIXED_MII_100_FDX=y 866CONFIG_FIXED_MII_100_FDX=y
867# CONFIG_FIXED_MII_1000_FDX is not set
868CONFIG_FIXED_MII_AMNT=1
869# CONFIG_MDIO_BITBANG is not set
821CONFIG_NET_ETHERNET=y 870CONFIG_NET_ETHERNET=y
822CONFIG_MII=y 871CONFIG_MII=y
823# CONFIG_HAPPYMEAL is not set 872# CONFIG_HAPPYMEAL is not set
@@ -829,6 +878,11 @@ CONFIG_VORTEX=y
829# CONFIG_NET_TULIP is not set 878# CONFIG_NET_TULIP is not set
830# CONFIG_HP100 is not set 879# CONFIG_HP100 is not set
831CONFIG_IBMVETH=m 880CONFIG_IBMVETH=m
881# CONFIG_IBM_NEW_EMAC is not set
882CONFIG_IBM_NEW_EMAC_ZMII=y
883CONFIG_IBM_NEW_EMAC_RGMII=y
884CONFIG_IBM_NEW_EMAC_TAH=y
885CONFIG_IBM_NEW_EMAC_EMAC4=y
832CONFIG_NET_PCI=y 886CONFIG_NET_PCI=y
833CONFIG_PCNET32=y 887CONFIG_PCNET32=y
834# CONFIG_PCNET32_NAPI is not set 888# CONFIG_PCNET32_NAPI is not set
@@ -836,7 +890,6 @@ CONFIG_PCNET32=y
836# CONFIG_ADAPTEC_STARFIRE is not set 890# CONFIG_ADAPTEC_STARFIRE is not set
837# CONFIG_B44 is not set 891# CONFIG_B44 is not set
838# CONFIG_FORCEDETH is not set 892# CONFIG_FORCEDETH is not set
839# CONFIG_DGRS is not set
840# CONFIG_EEPRO100 is not set 893# CONFIG_EEPRO100 is not set
841CONFIG_E100=y 894CONFIG_E100=y
842# CONFIG_FEALNX is not set 895# CONFIG_FEALNX is not set
@@ -856,6 +909,7 @@ CONFIG_ACENIC_OMIT_TIGON_I=y
856CONFIG_E1000=y 909CONFIG_E1000=y
857# CONFIG_E1000_NAPI is not set 910# CONFIG_E1000_NAPI is not set
858# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set 911# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
912# CONFIG_E1000E is not set
859# CONFIG_NS83820 is not set 913# CONFIG_NS83820 is not set
860# CONFIG_HAMACHI is not set 914# CONFIG_HAMACHI is not set
861# CONFIG_YELLOWFIN is not set 915# CONFIG_YELLOWFIN is not set
@@ -863,6 +917,7 @@ CONFIG_E1000=y
863# CONFIG_SIS190 is not set 917# CONFIG_SIS190 is not set
864# CONFIG_SKGE is not set 918# CONFIG_SKGE is not set
865# CONFIG_SKY2 is not set 919# CONFIG_SKY2 is not set
920# CONFIG_SK98LIN is not set
866# CONFIG_VIA_VELOCITY is not set 921# CONFIG_VIA_VELOCITY is not set
867CONFIG_TIGON3=y 922CONFIG_TIGON3=y
868# CONFIG_BNX2 is not set 923# CONFIG_BNX2 is not set
@@ -872,13 +927,16 @@ CONFIG_SPIDER_NET=m
872CONFIG_NETDEV_10000=y 927CONFIG_NETDEV_10000=y
873# CONFIG_CHELSIO_T1 is not set 928# CONFIG_CHELSIO_T1 is not set
874# CONFIG_CHELSIO_T3 is not set 929# CONFIG_CHELSIO_T3 is not set
930# CONFIG_IXGBE is not set
875CONFIG_IXGB=m 931CONFIG_IXGB=m
876# CONFIG_IXGB_NAPI is not set 932# CONFIG_IXGB_NAPI is not set
877# CONFIG_S2IO is not set 933# CONFIG_S2IO is not set
878# CONFIG_MYRI10GE is not set 934# CONFIG_MYRI10GE is not set
879# CONFIG_NETXEN_NIC is not set 935# CONFIG_NETXEN_NIC is not set
880CONFIG_PASEMI_MAC=m 936# CONFIG_NIU is not set
937CONFIG_PASEMI_MAC=y
881# CONFIG_MLX4_CORE is not set 938# CONFIG_MLX4_CORE is not set
939# CONFIG_TEHUTI is not set
882CONFIG_TR=y 940CONFIG_TR=y
883CONFIG_IBMOL=y 941CONFIG_IBMOL=y
884# CONFIG_3C359 is not set 942# CONFIG_3C359 is not set
@@ -899,6 +957,7 @@ CONFIG_IBMOL=y
899# CONFIG_USB_RTL8150 is not set 957# CONFIG_USB_RTL8150 is not set
900# CONFIG_USB_USBNET_MII is not set 958# CONFIG_USB_USBNET_MII is not set
901# CONFIG_USB_USBNET is not set 959# CONFIG_USB_USBNET is not set
960# CONFIG_NET_PCMCIA is not set
902# CONFIG_WAN is not set 961# CONFIG_WAN is not set
903CONFIG_ISERIES_VETH=m 962CONFIG_ISERIES_VETH=m
904# CONFIG_FDDI is not set 963# CONFIG_FDDI is not set
@@ -918,6 +977,7 @@ CONFIG_SLHC=m
918# CONFIG_NET_FC is not set 977# CONFIG_NET_FC is not set
919# CONFIG_SHAPER is not set 978# CONFIG_SHAPER is not set
920CONFIG_NETCONSOLE=y 979CONFIG_NETCONSOLE=y
980# CONFIG_NETCONSOLE_DYNAMIC is not set
921CONFIG_NETPOLL=y 981CONFIG_NETPOLL=y
922CONFIG_NETPOLL_TRAP=y 982CONFIG_NETPOLL_TRAP=y
923CONFIG_NET_POLL_CONTROLLER=y 983CONFIG_NET_POLL_CONTROLLER=y
@@ -939,7 +999,6 @@ CONFIG_INPUT_MOUSEDEV=y
939CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 999CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
940CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 1000CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
941# CONFIG_INPUT_JOYDEV is not set 1001# CONFIG_INPUT_JOYDEV is not set
942# CONFIG_INPUT_TSDEV is not set
943CONFIG_INPUT_EVDEV=m 1002CONFIG_INPUT_EVDEV=m
944# CONFIG_INPUT_EVBUG is not set 1003# CONFIG_INPUT_EVBUG is not set
945 1004
@@ -1002,6 +1061,7 @@ CONFIG_HW_CONSOLE=y
1002CONFIG_SERIAL_8250=y 1061CONFIG_SERIAL_8250=y
1003CONFIG_SERIAL_8250_CONSOLE=y 1062CONFIG_SERIAL_8250_CONSOLE=y
1004CONFIG_SERIAL_8250_PCI=y 1063CONFIG_SERIAL_8250_PCI=y
1064# CONFIG_SERIAL_8250_CS is not set
1005CONFIG_SERIAL_8250_NR_UARTS=4 1065CONFIG_SERIAL_8250_NR_UARTS=4
1006CONFIG_SERIAL_8250_RUNTIME_UARTS=4 1066CONFIG_SERIAL_8250_RUNTIME_UARTS=4
1007# CONFIG_SERIAL_8250_EXTENDED is not set 1067# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -1029,14 +1089,18 @@ CONFIG_HVC_RTAS=y
1029CONFIG_HVC_BEAT=y 1089CONFIG_HVC_BEAT=y
1030CONFIG_HVCS=m 1090CONFIG_HVCS=m
1031# CONFIG_IPMI_HANDLER is not set 1091# CONFIG_IPMI_HANDLER is not set
1032# CONFIG_WATCHDOG is not set
1033# CONFIG_HW_RANDOM is not set 1092# CONFIG_HW_RANDOM is not set
1034CONFIG_GEN_RTC=y 1093CONFIG_GEN_RTC=y
1035# CONFIG_GEN_RTC_X is not set 1094# CONFIG_GEN_RTC_X is not set
1036# CONFIG_R3964 is not set 1095# CONFIG_R3964 is not set
1037# CONFIG_APPLICOM is not set 1096# CONFIG_APPLICOM is not set
1038# CONFIG_AGP is not set 1097
1039# CONFIG_DRM is not set 1098#
1099# PCMCIA character devices
1100#
1101# CONFIG_SYNCLINK_CS is not set
1102# CONFIG_CARDMAN_4000 is not set
1103# CONFIG_CARDMAN_4040 is not set
1040CONFIG_RAW_DRIVER=y 1104CONFIG_RAW_DRIVER=y
1041CONFIG_MAX_RAW_DEVS=256 1105CONFIG_MAX_RAW_DEVS=256
1042# CONFIG_HANGCHECK_TIMER is not set 1106# CONFIG_HANGCHECK_TIMER is not set
@@ -1068,6 +1132,7 @@ CONFIG_I2C_POWERMAC=y
1068# CONFIG_I2C_NFORCE2 is not set 1132# CONFIG_I2C_NFORCE2 is not set
1069# CONFIG_I2C_OCORES is not set 1133# CONFIG_I2C_OCORES is not set
1070# CONFIG_I2C_PARPORT_LIGHT is not set 1134# CONFIG_I2C_PARPORT_LIGHT is not set
1135CONFIG_I2C_PASEMI=y
1071# CONFIG_I2C_PROSAVAGE is not set 1136# CONFIG_I2C_PROSAVAGE is not set
1072# CONFIG_I2C_SAVAGE4 is not set 1137# CONFIG_I2C_SAVAGE4 is not set
1073# CONFIG_I2C_SIMTEC is not set 1138# CONFIG_I2C_SIMTEC is not set
@@ -1106,6 +1171,13 @@ CONFIG_I2C_POWERMAC=y
1106# CONFIG_W1 is not set 1171# CONFIG_W1 is not set
1107# CONFIG_POWER_SUPPLY is not set 1172# CONFIG_POWER_SUPPLY is not set
1108# CONFIG_HWMON is not set 1173# CONFIG_HWMON is not set
1174# CONFIG_WATCHDOG is not set
1175
1176#
1177# Sonics Silicon Backplane
1178#
1179CONFIG_SSB_POSSIBLE=y
1180# CONFIG_SSB is not set
1109 1181
1110# 1182#
1111# Multifunction device drivers 1183# Multifunction device drivers
@@ -1122,18 +1194,8 @@ CONFIG_I2C_POWERMAC=y
1122# 1194#
1123# Graphics support 1195# Graphics support
1124# 1196#
1125CONFIG_BACKLIGHT_LCD_SUPPORT=y 1197# CONFIG_AGP is not set
1126CONFIG_LCD_CLASS_DEVICE=y 1198# CONFIG_DRM is not set
1127CONFIG_BACKLIGHT_CLASS_DEVICE=y
1128
1129#
1130# Display device support
1131#
1132CONFIG_DISPLAY_SUPPORT=y
1133
1134#
1135# Display hardware drivers
1136#
1137# CONFIG_VGASTATE is not set 1199# CONFIG_VGASTATE is not set
1138CONFIG_VIDEO_OUTPUT_CONTROL=m 1200CONFIG_VIDEO_OUTPUT_CONTROL=m
1139CONFIG_FB=y 1201CONFIG_FB=y
@@ -1142,6 +1204,7 @@ CONFIG_FB_DDC=y
1142CONFIG_FB_CFB_FILLRECT=y 1204CONFIG_FB_CFB_FILLRECT=y
1143CONFIG_FB_CFB_COPYAREA=y 1205CONFIG_FB_CFB_COPYAREA=y
1144CONFIG_FB_CFB_IMAGEBLIT=y 1206CONFIG_FB_CFB_IMAGEBLIT=y
1207# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
1145# CONFIG_FB_SYS_FILLRECT is not set 1208# CONFIG_FB_SYS_FILLRECT is not set
1146# CONFIG_FB_SYS_COPYAREA is not set 1209# CONFIG_FB_SYS_COPYAREA is not set
1147# CONFIG_FB_SYS_IMAGEBLIT is not set 1210# CONFIG_FB_SYS_IMAGEBLIT is not set
@@ -1192,6 +1255,19 @@ CONFIG_FB_RADEON_BACKLIGHT=y
1192# CONFIG_FB_PM3 is not set 1255# CONFIG_FB_PM3 is not set
1193CONFIG_FB_IBM_GXT4500=y 1256CONFIG_FB_IBM_GXT4500=y
1194# CONFIG_FB_VIRTUAL is not set 1257# CONFIG_FB_VIRTUAL is not set
1258CONFIG_BACKLIGHT_LCD_SUPPORT=y
1259CONFIG_LCD_CLASS_DEVICE=y
1260CONFIG_BACKLIGHT_CLASS_DEVICE=y
1261# CONFIG_BACKLIGHT_CORGI is not set
1262
1263#
1264# Display device support
1265#
1266CONFIG_DISPLAY_SUPPORT=y
1267
1268#
1269# Display hardware drivers
1270#
1195 1271
1196# 1272#
1197# Console display driver support 1273# Console display driver support
@@ -1333,6 +1409,12 @@ CONFIG_SND_AOA_SOUNDBUS_I2S=m
1333# CONFIG_SND_USB_CAIAQ is not set 1409# CONFIG_SND_USB_CAIAQ is not set
1334 1410
1335# 1411#
1412# PCMCIA devices
1413#
1414# CONFIG_SND_VXPOCKET is not set
1415# CONFIG_SND_PDAUDIOCF is not set
1416
1417#
1336# System on Chip audio support 1418# System on Chip audio support
1337# 1419#
1338# CONFIG_SND_SOC is not set 1420# CONFIG_SND_SOC is not set
@@ -1348,6 +1430,7 @@ CONFIG_SND_AOA_SOUNDBUS_I2S=m
1348CONFIG_HID_SUPPORT=y 1430CONFIG_HID_SUPPORT=y
1349CONFIG_HID=y 1431CONFIG_HID=y
1350# CONFIG_HID_DEBUG is not set 1432# CONFIG_HID_DEBUG is not set
1433# CONFIG_HIDRAW is not set
1351 1434
1352# 1435#
1353# USB Input Devices 1436# USB Input Devices
@@ -1489,19 +1572,53 @@ CONFIG_EDAC=y
1489# 1572#
1490# CONFIG_EDAC_DEBUG is not set 1573# CONFIG_EDAC_DEBUG is not set
1491CONFIG_EDAC_MM_EDAC=y 1574CONFIG_EDAC_MM_EDAC=y
1492# CONFIG_RTC_CLASS is not set 1575CONFIG_EDAC_PASEMI=y
1576CONFIG_RTC_LIB=y
1577CONFIG_RTC_CLASS=y
1578CONFIG_RTC_HCTOSYS=y
1579CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1580# CONFIG_RTC_DEBUG is not set
1581
1582#
1583# RTC interfaces
1584#
1585CONFIG_RTC_INTF_SYSFS=y
1586CONFIG_RTC_INTF_PROC=y
1587CONFIG_RTC_INTF_DEV=y
1588# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1589# CONFIG_RTC_DRV_TEST is not set
1590
1591#
1592# I2C RTC drivers
1593#
1594CONFIG_RTC_DRV_DS1307=y
1595# CONFIG_RTC_DRV_DS1374 is not set
1596# CONFIG_RTC_DRV_DS1672 is not set
1597# CONFIG_RTC_DRV_MAX6900 is not set
1598# CONFIG_RTC_DRV_RS5C372 is not set
1599# CONFIG_RTC_DRV_ISL1208 is not set
1600# CONFIG_RTC_DRV_X1205 is not set
1601# CONFIG_RTC_DRV_PCF8563 is not set
1602# CONFIG_RTC_DRV_PCF8583 is not set
1603# CONFIG_RTC_DRV_M41T80 is not set
1493 1604
1494# 1605#
1495# DMA Engine support 1606# SPI RTC drivers
1496# 1607#
1497# CONFIG_DMA_ENGINE is not set
1498 1608
1499# 1609#
1500# DMA Clients 1610# Platform RTC drivers
1501# 1611#
1612# CONFIG_RTC_DRV_CMOS is not set
1613# CONFIG_RTC_DRV_DS1553 is not set
1614# CONFIG_RTC_DRV_STK17TA8 is not set
1615# CONFIG_RTC_DRV_DS1742 is not set
1616# CONFIG_RTC_DRV_M48T86 is not set
1617# CONFIG_RTC_DRV_M48T59 is not set
1618# CONFIG_RTC_DRV_V3020 is not set
1502 1619
1503# 1620#
1504# DMA Devices 1621# on-CPU RTC drivers
1505# 1622#
1506 1623
1507# 1624#
@@ -1585,7 +1702,6 @@ CONFIG_TMPFS=y
1585# CONFIG_TMPFS_POSIX_ACL is not set 1702# CONFIG_TMPFS_POSIX_ACL is not set
1586CONFIG_HUGETLBFS=y 1703CONFIG_HUGETLBFS=y
1587CONFIG_HUGETLB_PAGE=y 1704CONFIG_HUGETLB_PAGE=y
1588CONFIG_RAMFS=y
1589# CONFIG_CONFIGFS_FS is not set 1705# CONFIG_CONFIGFS_FS is not set
1590 1706
1591# 1707#
@@ -1604,10 +1720,7 @@ CONFIG_CRAMFS=y
1604# CONFIG_QNX4FS_FS is not set 1720# CONFIG_QNX4FS_FS is not set
1605# CONFIG_SYSV_FS is not set 1721# CONFIG_SYSV_FS is not set
1606# CONFIG_UFS_FS is not set 1722# CONFIG_UFS_FS is not set
1607 1723CONFIG_NETWORK_FILESYSTEMS=y
1608#
1609# Network File Systems
1610#
1611CONFIG_NFS_FS=y 1724CONFIG_NFS_FS=y
1612CONFIG_NFS_V3=y 1725CONFIG_NFS_V3=y
1613CONFIG_NFS_V3_ACL=y 1726CONFIG_NFS_V3_ACL=y
@@ -1619,6 +1732,7 @@ CONFIG_NFSD_V3=y
1619CONFIG_NFSD_V3_ACL=y 1732CONFIG_NFSD_V3_ACL=y
1620CONFIG_NFSD_V4=y 1733CONFIG_NFSD_V4=y
1621CONFIG_NFSD_TCP=y 1734CONFIG_NFSD_TCP=y
1735CONFIG_ROOT_NFS=y
1622CONFIG_LOCKD=y 1736CONFIG_LOCKD=y
1623CONFIG_LOCKD_V4=y 1737CONFIG_LOCKD_V4=y
1624CONFIG_EXPORTFS=m 1738CONFIG_EXPORTFS=m
@@ -1626,6 +1740,7 @@ CONFIG_NFS_ACL_SUPPORT=y
1626CONFIG_NFS_COMMON=y 1740CONFIG_NFS_COMMON=y
1627CONFIG_SUNRPC=y 1741CONFIG_SUNRPC=y
1628CONFIG_SUNRPC_GSS=y 1742CONFIG_SUNRPC_GSS=y
1743CONFIG_SUNRPC_XPRT_RDMA=m
1629# CONFIG_SUNRPC_BIND34 is not set 1744# CONFIG_SUNRPC_BIND34 is not set
1630CONFIG_RPCSEC_GSS_KRB5=y 1745CONFIG_RPCSEC_GSS_KRB5=y
1631CONFIG_RPCSEC_GSS_SPKM3=m 1746CONFIG_RPCSEC_GSS_SPKM3=m
@@ -1662,10 +1777,6 @@ CONFIG_MSDOS_PARTITION=y
1662# CONFIG_KARMA_PARTITION is not set 1777# CONFIG_KARMA_PARTITION is not set
1663# CONFIG_EFI_PARTITION is not set 1778# CONFIG_EFI_PARTITION is not set
1664# CONFIG_SYSV68_PARTITION is not set 1779# CONFIG_SYSV68_PARTITION is not set
1665
1666#
1667# Native Language Support
1668#
1669CONFIG_NLS=y 1780CONFIG_NLS=y
1670CONFIG_NLS_DEFAULT="iso8859-1" 1781CONFIG_NLS_DEFAULT="iso8859-1"
1671CONFIG_NLS_CODEPAGE_437=y 1782CONFIG_NLS_CODEPAGE_437=y
@@ -1706,10 +1817,6 @@ CONFIG_NLS_ISO8859_15=m
1706CONFIG_NLS_KOI8_R=m 1817CONFIG_NLS_KOI8_R=m
1707CONFIG_NLS_KOI8_U=m 1818CONFIG_NLS_KOI8_U=m
1708CONFIG_NLS_UTF8=m 1819CONFIG_NLS_UTF8=m
1709
1710#
1711# Distributed Lock Manager
1712#
1713# CONFIG_DLM is not set 1820# CONFIG_DLM is not set
1714# CONFIG_UCC_SLOW is not set 1821# CONFIG_UCC_SLOW is not set
1715 1822
@@ -1733,18 +1840,17 @@ CONFIG_PLIST=y
1733CONFIG_HAS_IOMEM=y 1840CONFIG_HAS_IOMEM=y
1734CONFIG_HAS_IOPORT=y 1841CONFIG_HAS_IOPORT=y
1735CONFIG_HAS_DMA=y 1842CONFIG_HAS_DMA=y
1736 1843CONFIG_INSTRUMENTATION=y
1737#
1738# Instrumentation Support
1739#
1740CONFIG_PROFILING=y 1844CONFIG_PROFILING=y
1741CONFIG_OPROFILE=y 1845CONFIG_OPROFILE=y
1742# CONFIG_KPROBES is not set 1846# CONFIG_KPROBES is not set
1847# CONFIG_MARKERS is not set
1743 1848
1744# 1849#
1745# Kernel hacking 1850# Kernel hacking
1746# 1851#
1747# CONFIG_PRINTK_TIME is not set 1852# CONFIG_PRINTK_TIME is not set
1853CONFIG_ENABLE_WARN_DEPRECATED=y
1748CONFIG_ENABLE_MUST_CHECK=y 1854CONFIG_ENABLE_MUST_CHECK=y
1749CONFIG_MAGIC_SYSRQ=y 1855CONFIG_MAGIC_SYSRQ=y
1750# CONFIG_UNUSED_SYMBOLS is not set 1856# CONFIG_UNUSED_SYMBOLS is not set
@@ -1768,9 +1874,12 @@ CONFIG_DEBUG_BUGVERBOSE=y
1768# CONFIG_DEBUG_INFO is not set 1874# CONFIG_DEBUG_INFO is not set
1769# CONFIG_DEBUG_VM is not set 1875# CONFIG_DEBUG_VM is not set
1770# CONFIG_DEBUG_LIST is not set 1876# CONFIG_DEBUG_LIST is not set
1877# CONFIG_DEBUG_SG is not set
1771CONFIG_FORCED_INLINING=y 1878CONFIG_FORCED_INLINING=y
1879# CONFIG_BOOT_PRINTK_DELAY is not set
1772# CONFIG_RCU_TORTURE_TEST is not set 1880# CONFIG_RCU_TORTURE_TEST is not set
1773# CONFIG_FAULT_INJECTION is not set 1881# CONFIG_FAULT_INJECTION is not set
1882# CONFIG_SAMPLES is not set
1774CONFIG_DEBUG_STACKOVERFLOW=y 1883CONFIG_DEBUG_STACKOVERFLOW=y
1775CONFIG_DEBUG_STACK_USAGE=y 1884CONFIG_DEBUG_STACK_USAGE=y
1776# CONFIG_DEBUG_PAGEALLOC is not set 1885# CONFIG_DEBUG_PAGEALLOC is not set
@@ -1780,6 +1889,7 @@ CONFIG_XMON=y
1780# CONFIG_XMON_DEFAULT is not set 1889# CONFIG_XMON_DEFAULT is not set
1781CONFIG_XMON_DISASSEMBLY=y 1890CONFIG_XMON_DISASSEMBLY=y
1782CONFIG_IRQSTACKS=y 1891CONFIG_IRQSTACKS=y
1892# CONFIG_VIRQ_DEBUG is not set
1783CONFIG_BOOTX_TEXT=y 1893CONFIG_BOOTX_TEXT=y
1784# CONFIG_PPC_EARLY_DEBUG is not set 1894# CONFIG_PPC_EARLY_DEBUG is not set
1785 1895
@@ -1788,6 +1898,7 @@ CONFIG_BOOTX_TEXT=y
1788# 1898#
1789# CONFIG_KEYS is not set 1899# CONFIG_KEYS is not set
1790# CONFIG_SECURITY is not set 1900# CONFIG_SECURITY is not set
1901# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1791CONFIG_XOR_BLOCKS=y 1902CONFIG_XOR_BLOCKS=y
1792CONFIG_ASYNC_CORE=y 1903CONFIG_ASYNC_CORE=y
1793CONFIG_ASYNC_MEMCPY=y 1904CONFIG_ASYNC_MEMCPY=y
@@ -1812,6 +1923,7 @@ CONFIG_CRYPTO_ECB=m
1812CONFIG_CRYPTO_CBC=y 1923CONFIG_CRYPTO_CBC=y
1813CONFIG_CRYPTO_PCBC=m 1924CONFIG_CRYPTO_PCBC=m
1814# CONFIG_CRYPTO_LRW is not set 1925# CONFIG_CRYPTO_LRW is not set
1926# CONFIG_CRYPTO_XTS is not set
1815# CONFIG_CRYPTO_CRYPTD is not set 1927# CONFIG_CRYPTO_CRYPTD is not set
1816CONFIG_CRYPTO_DES=y 1928CONFIG_CRYPTO_DES=y
1817# CONFIG_CRYPTO_FCRYPT is not set 1929# CONFIG_CRYPTO_FCRYPT is not set
@@ -1826,9 +1938,12 @@ CONFIG_CRYPTO_TEA=m
1826CONFIG_CRYPTO_ARC4=m 1938CONFIG_CRYPTO_ARC4=m
1827CONFIG_CRYPTO_KHAZAD=m 1939CONFIG_CRYPTO_KHAZAD=m
1828CONFIG_CRYPTO_ANUBIS=m 1940CONFIG_CRYPTO_ANUBIS=m
1941# CONFIG_CRYPTO_SEED is not set
1829CONFIG_CRYPTO_DEFLATE=m 1942CONFIG_CRYPTO_DEFLATE=m
1830CONFIG_CRYPTO_MICHAEL_MIC=m 1943CONFIG_CRYPTO_MICHAEL_MIC=m
1831CONFIG_CRYPTO_CRC32C=m 1944CONFIG_CRYPTO_CRC32C=m
1832# CONFIG_CRYPTO_CAMELLIA is not set 1945# CONFIG_CRYPTO_CAMELLIA is not set
1833CONFIG_CRYPTO_TEST=m 1946CONFIG_CRYPTO_TEST=m
1947# CONFIG_CRYPTO_AUTHENC is not set
1834# CONFIG_CRYPTO_HW is not set 1948# CONFIG_CRYPTO_HW is not set
1949# CONFIG_PPC_CLOCK is not set
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
index d3fb7d0c6c1c..9ed351f3c966 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -1104,6 +1104,16 @@ static struct cpu_spec __initdata cpu_specs[] = {
1104 { 1104 {
1105 .pvr_mask = 0xf0000fff, 1105 .pvr_mask = 0xf0000fff,
1106 .pvr_value = 0x40000850, 1106 .pvr_value = 0x40000850,
1107 .cpu_name = "440GR Rev. A",
1108 .cpu_features = CPU_FTRS_44X,
1109 .cpu_user_features = COMMON_USER_BOOKE,
1110 .icache_bsize = 32,
1111 .dcache_bsize = 32,
1112 .platform = "ppc440",
1113 },
1114 { /* Use logical PVR for 440EP (logical pvr = pvr | 0x8) */
1115 .pvr_mask = 0xf0000fff,
1116 .pvr_value = 0x40000858,
1107 .cpu_name = "440EP Rev. A", 1117 .cpu_name = "440EP Rev. A",
1108 .cpu_features = CPU_FTRS_44X, 1118 .cpu_features = CPU_FTRS_44X,
1109 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, 1119 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
@@ -1115,28 +1125,27 @@ static struct cpu_spec __initdata cpu_specs[] = {
1115 { 1125 {
1116 .pvr_mask = 0xf0000fff, 1126 .pvr_mask = 0xf0000fff,
1117 .pvr_value = 0x400008d3, 1127 .pvr_value = 0x400008d3,
1118 .cpu_name = "440EP Rev. B", 1128 .cpu_name = "440GR Rev. B",
1119 .cpu_features = CPU_FTRS_44X, 1129 .cpu_features = CPU_FTRS_44X,
1120 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, 1130 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
1121 .icache_bsize = 32, 1131 .icache_bsize = 32,
1122 .dcache_bsize = 32, 1132 .dcache_bsize = 32,
1123 .cpu_setup = __setup_cpu_440ep,
1124 .platform = "ppc440", 1133 .platform = "ppc440",
1125 }, 1134 },
1126 { /* 440EPX */ 1135 { /* Use logical PVR for 440EP (logical pvr = pvr | 0x8) */
1127 .pvr_mask = 0xf0000ffb, 1136 .pvr_mask = 0xf0000fff,
1128 .pvr_value = 0x200008D0, 1137 .pvr_value = 0x400008db,
1129 .cpu_name = "440EPX", 1138 .cpu_name = "440EP Rev. B",
1130 .cpu_features = CPU_FTRS_44X, 1139 .cpu_features = CPU_FTRS_44X,
1131 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU, 1140 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
1132 .icache_bsize = 32, 1141 .icache_bsize = 32,
1133 .dcache_bsize = 32, 1142 .dcache_bsize = 32,
1134 .cpu_setup = __setup_cpu_440epx, 1143 .cpu_setup = __setup_cpu_440ep,
1135 .platform = "ppc440", 1144 .platform = "ppc440",
1136 }, 1145 },
1137 { /* 440GRX */ 1146 { /* 440GRX */
1138 .pvr_mask = 0xf0000ffb, 1147 .pvr_mask = 0xf0000ffb,
1139 .pvr_value = 0x200008D8, 1148 .pvr_value = 0x200008D0,
1140 .cpu_name = "440GRX", 1149 .cpu_name = "440GRX",
1141 .cpu_features = CPU_FTRS_44X, 1150 .cpu_features = CPU_FTRS_44X,
1142 .cpu_user_features = COMMON_USER_BOOKE, 1151 .cpu_user_features = COMMON_USER_BOOKE,
@@ -1145,6 +1154,17 @@ static struct cpu_spec __initdata cpu_specs[] = {
1145 .cpu_setup = __setup_cpu_440grx, 1154 .cpu_setup = __setup_cpu_440grx,
1146 .platform = "ppc440", 1155 .platform = "ppc440",
1147 }, 1156 },
1157 { /* Use logical PVR for 440EPx (logical pvr = pvr | 0x8) */
1158 .pvr_mask = 0xf0000ffb,
1159 .pvr_value = 0x200008D8,
1160 .cpu_name = "440EPX",
1161 .cpu_features = CPU_FTRS_44X,
1162 .cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
1163 .icache_bsize = 32,
1164 .dcache_bsize = 32,
1165 .cpu_setup = __setup_cpu_440epx,
1166 .platform = "ppc440",
1167 },
1148 { /* 440GP Rev. B */ 1168 { /* 440GP Rev. B */
1149 .pvr_mask = 0xf0000fff, 1169 .pvr_mask = 0xf0000fff,
1150 .pvr_value = 0x40000440, 1170 .pvr_value = 0x40000440,
diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S
index 21d889e63e87..a7572cf464bd 100644
--- a/arch/powerpc/kernel/entry_32.S
+++ b/arch/powerpc/kernel/entry_32.S
@@ -244,6 +244,13 @@ syscall_exit_cont:
244 andis. r10,r0,DBCR0_IC@h 244 andis. r10,r0,DBCR0_IC@h
245 bnel- load_dbcr0 245 bnel- load_dbcr0
246#endif 246#endif
247#ifdef CONFIG_44x
248 lis r4,icache_44x_need_flush@ha
249 lwz r5,icache_44x_need_flush@l(r4)
250 cmplwi cr0,r5,0
251 bne- 2f
2521:
253#endif /* CONFIG_44x */
247 stwcx. r0,0,r1 /* to clear the reservation */ 254 stwcx. r0,0,r1 /* to clear the reservation */
248 lwz r4,_LINK(r1) 255 lwz r4,_LINK(r1)
249 lwz r5,_CCR(r1) 256 lwz r5,_CCR(r1)
@@ -258,6 +265,12 @@ syscall_exit_cont:
258 mtspr SPRN_SRR1,r8 265 mtspr SPRN_SRR1,r8
259 SYNC 266 SYNC
260 RFI 267 RFI
268#ifdef CONFIG_44x
2692: li r7,0
270 iccci r0,r0
271 stw r7,icache_44x_need_flush@l(r4)
272 b 1b
273#endif /* CONFIG_44x */
261 274
26266: li r3,-ENOSYS 27566: li r3,-ENOSYS
263 b ret_from_syscall 276 b ret_from_syscall
@@ -683,6 +696,16 @@ resume_kernel:
683 696
684 /* interrupts are hard-disabled at this point */ 697 /* interrupts are hard-disabled at this point */
685restore: 698restore:
699#ifdef CONFIG_44x
700 lis r4,icache_44x_need_flush@ha
701 lwz r5,icache_44x_need_flush@l(r4)
702 cmplwi cr0,r5,0
703 beq+ 1f
704 li r6,0
705 iccci r0,r0
706 stw r6,icache_44x_need_flush@l(r4)
7071:
708#endif /* CONFIG_44x */
686 lwz r0,GPR0(r1) 709 lwz r0,GPR0(r1)
687 lwz r2,GPR2(r1) 710 lwz r2,GPR2(r1)
688 REST_4GPRS(3, r1) 711 REST_4GPRS(3, r1)
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
index 97c5857faf00..c34986835a4e 100644
--- a/arch/powerpc/kernel/head_64.S
+++ b/arch/powerpc/kernel/head_64.S
@@ -904,7 +904,7 @@ handle_page_fault:
904 */ 904 */
90512: bl .save_nvgprs 90512: bl .save_nvgprs
906 addi r3,r1,STACK_FRAME_OVERHEAD 906 addi r3,r1,STACK_FRAME_OVERHEAD
907 lwz r4,_DAR(r1) 907 ld r4,_DAR(r1)
908 bl .low_hash_fault 908 bl .low_hash_fault
909 b .ret_from_except 909 b .ret_from_except
910 910
diff --git a/arch/powerpc/kernel/idle.c b/arch/powerpc/kernel/idle.c
index abd2957fe537..c3cf0e8f3ac1 100644
--- a/arch/powerpc/kernel/idle.c
+++ b/arch/powerpc/kernel/idle.c
@@ -122,7 +122,7 @@ static ctl_table powersave_nap_sysctl_root[] = {
122 { 122 {
123 .ctl_name = CTL_KERN, 123 .ctl_name = CTL_KERN,
124 .procname = "kernel", 124 .procname = "kernel",
125 .mode = 0755, 125 .mode = 0555,
126 .child = powersave_nap_ctl_table, 126 .child = powersave_nap_ctl_table,
127 }, 127 },
128 {} 128 {}
diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S
index 8533de50347d..8b642ab26d37 100644
--- a/arch/powerpc/kernel/misc_32.S
+++ b/arch/powerpc/kernel/misc_32.S
@@ -288,7 +288,16 @@ _GLOBAL(_tlbia)
288 */ 288 */
289_GLOBAL(_tlbie) 289_GLOBAL(_tlbie)
290#if defined(CONFIG_40x) 290#if defined(CONFIG_40x)
291 /* We run the search with interrupts disabled because we have to change
292 * the PID and I don't want to preempt when that happens.
293 */
294 mfmsr r5
295 mfspr r6,SPRN_PID
296 wrteei 0
297 mtspr SPRN_PID,r4
291 tlbsx. r3, 0, r3 298 tlbsx. r3, 0, r3
299 mtspr SPRN_PID,r6
300 wrtee r5
292 bne 10f 301 bne 10f
293 sync 302 sync
294 /* There are only 64 TLB entries, so r3 < 64, which means bit 25 is clear. 303 /* There are only 64 TLB entries, so r3 < 64, which means bit 25 is clear.
@@ -297,23 +306,23 @@ _GLOBAL(_tlbie)
297 tlbwe r3, r3, TLB_TAG 306 tlbwe r3, r3, TLB_TAG
298 isync 307 isync
29910: 30810:
309
300#elif defined(CONFIG_44x) 310#elif defined(CONFIG_44x)
301 mfspr r4,SPRN_MMUCR 311 mfspr r5,SPRN_MMUCR
302 mfspr r5,SPRN_PID /* Get PID */ 312 rlwimi r5,r4,0,24,31 /* Set TID */
303 rlwimi r4,r5,0,24,31 /* Set TID */
304 313
305 /* We have to run the search with interrupts disabled, even critical 314 /* We have to run the search with interrupts disabled, even critical
306 * and debug interrupts (in fact the only critical exceptions we have 315 * and debug interrupts (in fact the only critical exceptions we have
307 * are debug and machine check). Otherwise an interrupt which causes 316 * are debug and machine check). Otherwise an interrupt which causes
308 * a TLB miss can clobber the MMUCR between the mtspr and the tlbsx. */ 317 * a TLB miss can clobber the MMUCR between the mtspr and the tlbsx. */
309 mfmsr r5 318 mfmsr r4
310 lis r6,(MSR_EE|MSR_CE|MSR_ME|MSR_DE)@ha 319 lis r6,(MSR_EE|MSR_CE|MSR_ME|MSR_DE)@ha
311 addi r6,r6,(MSR_EE|MSR_CE|MSR_ME|MSR_DE)@l 320 addi r6,r6,(MSR_EE|MSR_CE|MSR_ME|MSR_DE)@l
312 andc r6,r5,r6 321 andc r6,r4,r6
313 mtmsr r6 322 mtmsr r6
314 mtspr SPRN_MMUCR,r4 323 mtspr SPRN_MMUCR,r5
315 tlbsx. r3, 0, r3 324 tlbsx. r3, 0, r3
316 mtmsr r5 325 mtmsr r4
317 bne 10f 326 bne 10f
318 sync 327 sync
319 /* There are only 64 TLB entries, so r3 < 64, 328 /* There are only 64 TLB entries, so r3 < 64,
@@ -534,12 +543,21 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE)
534 addi r3,r3,L1_CACHE_BYTES 543 addi r3,r3,L1_CACHE_BYTES
535 bdnz 0b 544 bdnz 0b
536 sync 545 sync
546#ifndef CONFIG_44x
547 /* We don't flush the icache on 44x. Those have a virtual icache
548 * and we don't have access to the virtual address here (it's
549 * not the page vaddr but where it's mapped in user space). The
550 * flushing of the icache on these is handled elsewhere, when
551 * a change in the address space occurs, before returning to
552 * user space
553 */
537 mtctr r4 554 mtctr r4
5381: icbi 0,r6 5551: icbi 0,r6
539 addi r6,r6,L1_CACHE_BYTES 556 addi r6,r6,L1_CACHE_BYTES
540 bdnz 1b 557 bdnz 1b
541 sync 558 sync
542 isync 559 isync
560#endif /* CONFIG_44x */
543 blr 561 blr
544 562
545/* 563/*
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index 9f329a8928ea..acc0d247d3c3 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -697,6 +697,18 @@ static int __init early_init_dt_scan_cpus(unsigned long node,
697 prop = of_get_flat_dt_prop(node, "cpu-version", NULL); 697 prop = of_get_flat_dt_prop(node, "cpu-version", NULL);
698 if (prop && (*prop & 0xff000000) == 0x0f000000) 698 if (prop && (*prop & 0xff000000) == 0x0f000000)
699 identify_cpu(0, *prop); 699 identify_cpu(0, *prop);
700#if defined(CONFIG_44x) && defined(CONFIG_PPC_FPU)
701 /*
702 * Since 440GR(x)/440EP(x) processors have the same pvr,
703 * we check the node path and set bit 28 in the cur_cpu_spec
704 * pvr for EP(x) processor version. This bit is always 0 in
705 * the "real" pvr. Then we call identify_cpu again with
706 * the new logical pvr to enable FPU support.
707 */
708 if (strstr(uname, "440EP")) {
709 identify_cpu(0, cur_cpu_spec->pvr_value | 0x8);
710 }
711#endif
700 } 712 }
701 713
702 check_cpu_feature_properties(node); 714 check_cpu_feature_properties(node);
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
index 1db10f70ae69..1add6efdb315 100644
--- a/arch/powerpc/kernel/prom_init.c
+++ b/arch/powerpc/kernel/prom_init.c
@@ -1244,7 +1244,7 @@ static void __init prom_initialize_tce_table(void)
1244 local_alloc_bottom = base; 1244 local_alloc_bottom = base;
1245 1245
1246 /* It seems OF doesn't null-terminate the path :-( */ 1246 /* It seems OF doesn't null-terminate the path :-( */
1247 memset(path, 0, sizeof(path)); 1247 memset(path, 0, PROM_SCRATCH_SIZE);
1248 /* Call OF to setup the TCE hardware */ 1248 /* Call OF to setup the TCE hardware */
1249 if (call_prom("package-to-path", 3, 1, node, 1249 if (call_prom("package-to-path", 3, 1, node,
1250 path, PROM_SCRATCH_SIZE-1) == PROM_ERROR) { 1250 path, PROM_SCRATCH_SIZE-1) == PROM_ERROR) {
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index ede77dbbd4df..3b1529c103ef 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -291,23 +291,16 @@ static void __init initialize_cache_info(void)
291 if ( num_cpus == 1 ) { 291 if ( num_cpus == 1 ) {
292 const u32 *sizep, *lsizep; 292 const u32 *sizep, *lsizep;
293 u32 size, lsize; 293 u32 size, lsize;
294 const char *dc, *ic;
295
296 /* Then read cache informations */
297 if (machine_is(powermac)) {
298 dc = "d-cache-block-size";
299 ic = "i-cache-block-size";
300 } else {
301 dc = "d-cache-line-size";
302 ic = "i-cache-line-size";
303 }
304 294
305 size = 0; 295 size = 0;
306 lsize = cur_cpu_spec->dcache_bsize; 296 lsize = cur_cpu_spec->dcache_bsize;
307 sizep = of_get_property(np, "d-cache-size", NULL); 297 sizep = of_get_property(np, "d-cache-size", NULL);
308 if (sizep != NULL) 298 if (sizep != NULL)
309 size = *sizep; 299 size = *sizep;
310 lsizep = of_get_property(np, dc, NULL); 300 lsizep = of_get_property(np, "d-cache-block-size", NULL);
301 /* fallback if block size missing */
302 if (lsizep == NULL)
303 lsizep = of_get_property(np, "d-cache-line-size", NULL);
311 if (lsizep != NULL) 304 if (lsizep != NULL)
312 lsize = *lsizep; 305 lsize = *lsizep;
313 if (sizep == 0 || lsizep == 0) 306 if (sizep == 0 || lsizep == 0)
@@ -324,7 +317,9 @@ static void __init initialize_cache_info(void)
324 sizep = of_get_property(np, "i-cache-size", NULL); 317 sizep = of_get_property(np, "i-cache-size", NULL);
325 if (sizep != NULL) 318 if (sizep != NULL)
326 size = *sizep; 319 size = *sizep;
327 lsizep = of_get_property(np, ic, NULL); 320 lsizep = of_get_property(np, "i-cache-block-size", NULL);
321 if (lsizep == NULL)
322 lsizep = of_get_property(np, "i-cache-line-size", NULL);
328 if (lsizep != NULL) 323 if (lsizep != NULL)
329 lsize = *lsizep; 324 lsize = *lsizep;
330 if (sizep == 0 || lsizep == 0) 325 if (sizep == 0 || lsizep == 0)
diff --git a/arch/powerpc/kernel/swsusp_32.S b/arch/powerpc/kernel/swsusp_32.S
index 69e8f86aa4f8..77fc76607ab2 100644
--- a/arch/powerpc/kernel/swsusp_32.S
+++ b/arch/powerpc/kernel/swsusp_32.S
@@ -133,10 +133,12 @@ _GLOBAL(swsusp_arch_suspend)
133/* Resume code */ 133/* Resume code */
134_GLOBAL(swsusp_arch_resume) 134_GLOBAL(swsusp_arch_resume)
135 135
136#ifdef CONFIG_ALTIVEC
136 /* Stop pending alitvec streams and memory accesses */ 137 /* Stop pending alitvec streams and memory accesses */
137BEGIN_FTR_SECTION 138BEGIN_FTR_SECTION
138 DSSALL 139 DSSALL
139END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC) 140END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC)
141#endif
140 sync 142 sync
141 143
142 /* Disable MSR:DR to make sure we don't take a TLB or 144 /* Disable MSR:DR to make sure we don't take a TLB or
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index 9eb3284deac4..99ebcd3884d2 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -586,7 +586,7 @@ void timer_interrupt(struct pt_regs * regs)
586 /* not time for this event yet */ 586 /* not time for this event yet */
587 now = per_cpu(decrementer_next_tb, cpu) - now; 587 now = per_cpu(decrementer_next_tb, cpu) - now;
588 if (now <= DECREMENTER_MAX) 588 if (now <= DECREMENTER_MAX)
589 set_dec((unsigned int)now - 1); 589 set_dec((int)now);
590 return; 590 return;
591 } 591 }
592 old_regs = set_irq_regs(regs); 592 old_regs = set_irq_regs(regs);
@@ -611,8 +611,6 @@ void timer_interrupt(struct pt_regs * regs)
611 611
612 if (evt->event_handler) 612 if (evt->event_handler)
613 evt->event_handler(evt); 613 evt->event_handler(evt);
614 else
615 evt->set_next_event(DECREMENTER_MAX, evt);
616 614
617#ifdef CONFIG_PPC_ISERIES 615#ifdef CONFIG_PPC_ISERIES
618 if (firmware_has_feature(FW_FEATURE_ISERIES) && hvlpevent_is_pending()) 616 if (firmware_has_feature(FW_FEATURE_ISERIES) && hvlpevent_is_pending())
@@ -836,9 +834,6 @@ static int decrementer_set_next_event(unsigned long evt,
836 struct clock_event_device *dev) 834 struct clock_event_device *dev)
837{ 835{
838 __get_cpu_var(decrementer_next_tb) = get_tb_or_rtc() + evt; 836 __get_cpu_var(decrementer_next_tb) = get_tb_or_rtc() + evt;
839 /* The decrementer interrupts on the 0 -> -1 transition */
840 if (evt)
841 --evt;
842 set_dec(evt); 837 set_dec(evt);
843 return 0; 838 return 0;
844} 839}
@@ -871,7 +866,8 @@ void init_decrementer_clockevent(void)
871 decrementer_clockevent.shift); 866 decrementer_clockevent.shift);
872 decrementer_clockevent.max_delta_ns = 867 decrementer_clockevent.max_delta_ns =
873 clockevent_delta2ns(DECREMENTER_MAX, &decrementer_clockevent); 868 clockevent_delta2ns(DECREMENTER_MAX, &decrementer_clockevent);
874 decrementer_clockevent.min_delta_ns = 1000; 869 decrementer_clockevent.min_delta_ns =
870 clockevent_delta2ns(2, &decrementer_clockevent);
875 871
876 register_decrementer_clockevent(cpu); 872 register_decrementer_clockevent(cpu);
877} 873}
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index 823a8cbd60b5..f66fa5d966b0 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -37,11 +37,10 @@ SECTIONS
37 ALIGN_FUNCTION(); 37 ALIGN_FUNCTION();
38 *(.text.head) 38 *(.text.head)
39 _text = .; 39 _text = .;
40 TEXT_TEXT 40 *(.text .fixup .text.init.refok .exit.text.refok)
41 SCHED_TEXT 41 SCHED_TEXT
42 LOCK_TEXT 42 LOCK_TEXT
43 KPROBES_TEXT 43 KPROBES_TEXT
44 *(.fixup)
45 44
46#ifdef CONFIG_PPC32 45#ifdef CONFIG_PPC32
47 *(.got1) 46 *(.got1)
diff --git a/arch/powerpc/mm/40x_mmu.c b/arch/powerpc/mm/40x_mmu.c
index e067df836be2..3899ea97fbdf 100644
--- a/arch/powerpc/mm/40x_mmu.c
+++ b/arch/powerpc/mm/40x_mmu.c
@@ -98,13 +98,12 @@ unsigned long __init mmu_mapin_ram(void)
98 98
99 v = KERNELBASE; 99 v = KERNELBASE;
100 p = PPC_MEMSTART; 100 p = PPC_MEMSTART;
101 s = 0; 101 s = total_lowmem;
102 102
103 if (__map_without_ltlbs) { 103 if (__map_without_ltlbs)
104 return s; 104 return 0;
105 }
106 105
107 while (s <= (total_lowmem - LARGE_PAGE_SIZE_16M)) { 106 while (s >= LARGE_PAGE_SIZE_16M) {
108 pmd_t *pmdp; 107 pmd_t *pmdp;
109 unsigned long val = p | _PMD_SIZE_16M | _PAGE_HWEXEC | _PAGE_HWWRITE; 108 unsigned long val = p | _PMD_SIZE_16M | _PAGE_HWEXEC | _PAGE_HWWRITE;
110 109
@@ -116,10 +115,10 @@ unsigned long __init mmu_mapin_ram(void)
116 115
117 v += LARGE_PAGE_SIZE_16M; 116 v += LARGE_PAGE_SIZE_16M;
118 p += LARGE_PAGE_SIZE_16M; 117 p += LARGE_PAGE_SIZE_16M;
119 s += LARGE_PAGE_SIZE_16M; 118 s -= LARGE_PAGE_SIZE_16M;
120 } 119 }
121 120
122 while (s <= (total_lowmem - LARGE_PAGE_SIZE_4M)) { 121 while (s >= LARGE_PAGE_SIZE_4M) {
123 pmd_t *pmdp; 122 pmd_t *pmdp;
124 unsigned long val = p | _PMD_SIZE_4M | _PAGE_HWEXEC | _PAGE_HWWRITE; 123 unsigned long val = p | _PMD_SIZE_4M | _PAGE_HWEXEC | _PAGE_HWWRITE;
125 124
@@ -128,8 +127,8 @@ unsigned long __init mmu_mapin_ram(void)
128 127
129 v += LARGE_PAGE_SIZE_4M; 128 v += LARGE_PAGE_SIZE_4M;
130 p += LARGE_PAGE_SIZE_4M; 129 p += LARGE_PAGE_SIZE_4M;
131 s += LARGE_PAGE_SIZE_4M; 130 s -= LARGE_PAGE_SIZE_4M;
132 } 131 }
133 132
134 return s; 133 return total_lowmem - s;
135} 134}
diff --git a/arch/powerpc/mm/44x_mmu.c b/arch/powerpc/mm/44x_mmu.c
index c3df50476539..04dc08798d3d 100644
--- a/arch/powerpc/mm/44x_mmu.c
+++ b/arch/powerpc/mm/44x_mmu.c
@@ -35,6 +35,7 @@
35 */ 35 */
36unsigned int tlb_44x_index; /* = 0 */ 36unsigned int tlb_44x_index; /* = 0 */
37unsigned int tlb_44x_hwater = PPC44x_TLB_SIZE - 1 - PPC44x_EARLY_TLBS; 37unsigned int tlb_44x_hwater = PPC44x_TLB_SIZE - 1 - PPC44x_EARLY_TLBS;
38int icache_44x_need_flush;
38 39
39/* 40/*
40 * "Pins" a 256MB TLB entry in AS0 for kernel lowmem 41 * "Pins" a 256MB TLB entry in AS0 for kernel lowmem
diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c
index a18fda361cc0..8135da06e0a4 100644
--- a/arch/powerpc/mm/fault.c
+++ b/arch/powerpc/mm/fault.c
@@ -309,7 +309,7 @@ good_area:
309 set_bit(PG_arch_1, &page->flags); 309 set_bit(PG_arch_1, &page->flags);
310 } 310 }
311 pte_update(ptep, 0, _PAGE_HWEXEC); 311 pte_update(ptep, 0, _PAGE_HWEXEC);
312 _tlbie(address); 312 _tlbie(address, mm->context.id);
313 pte_unmap_unlock(ptep, ptl); 313 pte_unmap_unlock(ptep, ptl);
314 up_read(&mm->mmap_sem); 314 up_read(&mm->mmap_sem);
315 return 0; 315 return 0;
diff --git a/arch/powerpc/mm/hash_low_64.S b/arch/powerpc/mm/hash_low_64.S
index ad253b959030..e935edd6b72b 100644
--- a/arch/powerpc/mm/hash_low_64.S
+++ b/arch/powerpc/mm/hash_low_64.S
@@ -331,7 +331,7 @@ htab_pte_insert_failure:
331 *****************************************************************************/ 331 *****************************************************************************/
332 332
333/* _hash_page_4K(unsigned long ea, unsigned long access, unsigned long vsid, 333/* _hash_page_4K(unsigned long ea, unsigned long access, unsigned long vsid,
334 * pte_t *ptep, unsigned long trap, int local) 334 * pte_t *ptep, unsigned long trap, int local, int ssize)
335 */ 335 */
336 336
337/* 337/*
@@ -557,7 +557,8 @@ htab_inval_old_hpte:
557 mr r4,r31 /* PTE.pte */ 557 mr r4,r31 /* PTE.pte */
558 li r5,0 /* PTE.hidx */ 558 li r5,0 /* PTE.hidx */
559 li r6,MMU_PAGE_64K /* psize */ 559 li r6,MMU_PAGE_64K /* psize */
560 ld r7,STK_PARM(r8)(r1) /* local */ 560 ld r7,STK_PARM(r9)(r1) /* ssize */
561 ld r8,STK_PARM(r8)(r1) /* local */
561 bl .flush_hash_page 562 bl .flush_hash_page
562 b htab_insert_pte 563 b htab_insert_pte
563 564
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
index c78dc912411f..f09730bf3a33 100644
--- a/arch/powerpc/mm/hash_utils_64.c
+++ b/arch/powerpc/mm/hash_utils_64.c
@@ -51,6 +51,7 @@
51#include <asm/cputable.h> 51#include <asm/cputable.h>
52#include <asm/sections.h> 52#include <asm/sections.h>
53#include <asm/spu.h> 53#include <asm/spu.h>
54#include <asm/udbg.h>
54 55
55#ifdef DEBUG 56#ifdef DEBUG
56#define DBG(fmt...) udbg_printf(fmt) 57#define DBG(fmt...) udbg_printf(fmt)
@@ -791,8 +792,7 @@ int hash_page(unsigned long ea, unsigned long access, unsigned long trap)
791 } 792 }
792 if (user_region) { 793 if (user_region) {
793 if (psize != get_paca()->context.user_psize) { 794 if (psize != get_paca()->context.user_psize) {
794 get_paca()->context.user_psize = 795 get_paca()->context = mm->context;
795 mm->context.user_psize;
796 slb_flush_and_rebolt(); 796 slb_flush_and_rebolt();
797 } 797 }
798 } else if (get_paca()->vmalloc_sllp != 798 } else if (get_paca()->vmalloc_sllp !=
@@ -885,6 +885,9 @@ void hash_preload(struct mm_struct *mm, unsigned long ea,
885 local_irq_restore(flags); 885 local_irq_restore(flags);
886} 886}
887 887
888/* WARNING: This is called from hash_low_64.S, if you change this prototype,
889 * do not forget to update the assembly call site !
890 */
888void flush_hash_page(unsigned long va, real_pte_t pte, int psize, int ssize, 891void flush_hash_page(unsigned long va, real_pte_t pte, int psize, int ssize,
889 int local) 892 int local)
890{ 893{
diff --git a/arch/powerpc/mm/mmu_decl.h b/arch/powerpc/mm/mmu_decl.h
index c94a64fd3c01..eb3a732e91db 100644
--- a/arch/powerpc/mm/mmu_decl.h
+++ b/arch/powerpc/mm/mmu_decl.h
@@ -61,12 +61,12 @@ extern unsigned long total_lowmem;
61#define mmu_mapin_ram() (0UL) 61#define mmu_mapin_ram() (0UL)
62 62
63#elif defined(CONFIG_4xx) 63#elif defined(CONFIG_4xx)
64#define flush_HPTE(X, va, pg) _tlbie(va) 64#define flush_HPTE(pid, va, pg) _tlbie(va, pid)
65extern void MMU_init_hw(void); 65extern void MMU_init_hw(void);
66extern unsigned long mmu_mapin_ram(void); 66extern unsigned long mmu_mapin_ram(void);
67 67
68#elif defined(CONFIG_FSL_BOOKE) 68#elif defined(CONFIG_FSL_BOOKE)
69#define flush_HPTE(X, va, pg) _tlbie(va) 69#define flush_HPTE(pid, va, pg) _tlbie(va, pid)
70extern void MMU_init_hw(void); 70extern void MMU_init_hw(void);
71extern unsigned long mmu_mapin_ram(void); 71extern unsigned long mmu_mapin_ram(void);
72extern void adjust_total_lowmem(void); 72extern void adjust_total_lowmem(void);
diff --git a/arch/powerpc/mm/slb.c b/arch/powerpc/mm/slb.c
index bbd2c512ee05..27922dff8b94 100644
--- a/arch/powerpc/mm/slb.c
+++ b/arch/powerpc/mm/slb.c
@@ -25,6 +25,7 @@
25#include <asm/smp.h> 25#include <asm/smp.h>
26#include <asm/firmware.h> 26#include <asm/firmware.h>
27#include <linux/compiler.h> 27#include <linux/compiler.h>
28#include <asm/udbg.h>
28 29
29#ifdef DEBUG 30#ifdef DEBUG
30#define DBG(fmt...) udbg_printf(fmt) 31#define DBG(fmt...) udbg_printf(fmt)
@@ -148,6 +149,35 @@ void slb_vmalloc_update(void)
148 slb_flush_and_rebolt(); 149 slb_flush_and_rebolt();
149} 150}
150 151
152/* Helper function to compare esids. There are four cases to handle.
153 * 1. The system is not 1T segment size capable. Use the GET_ESID compare.
154 * 2. The system is 1T capable, both addresses are < 1T, use the GET_ESID compare.
155 * 3. The system is 1T capable, only one of the two addresses is > 1T. This is not a match.
156 * 4. The system is 1T capable, both addresses are > 1T, use the GET_ESID_1T macro to compare.
157 */
158static inline int esids_match(unsigned long addr1, unsigned long addr2)
159{
160 int esid_1t_count;
161
162 /* System is not 1T segment size capable. */
163 if (!cpu_has_feature(CPU_FTR_1T_SEGMENT))
164 return (GET_ESID(addr1) == GET_ESID(addr2));
165
166 esid_1t_count = (((addr1 >> SID_SHIFT_1T) != 0) +
167 ((addr2 >> SID_SHIFT_1T) != 0));
168
169 /* both addresses are < 1T */
170 if (esid_1t_count == 0)
171 return (GET_ESID(addr1) == GET_ESID(addr2));
172
173 /* One address < 1T, the other > 1T. Not a match */
174 if (esid_1t_count == 1)
175 return 0;
176
177 /* Both addresses are > 1T. */
178 return (GET_ESID_1T(addr1) == GET_ESID_1T(addr2));
179}
180
151/* Flush all user entries from the segment table of the current processor. */ 181/* Flush all user entries from the segment table of the current processor. */
152void switch_slb(struct task_struct *tsk, struct mm_struct *mm) 182void switch_slb(struct task_struct *tsk, struct mm_struct *mm)
153{ 183{
@@ -193,15 +223,14 @@ void switch_slb(struct task_struct *tsk, struct mm_struct *mm)
193 return; 223 return;
194 slb_allocate(pc); 224 slb_allocate(pc);
195 225
196 if (GET_ESID(pc) == GET_ESID(stack)) 226 if (esids_match(pc,stack))
197 return; 227 return;
198 228
199 if (is_kernel_addr(stack)) 229 if (is_kernel_addr(stack))
200 return; 230 return;
201 slb_allocate(stack); 231 slb_allocate(stack);
202 232
203 if ((GET_ESID(pc) == GET_ESID(unmapped_base)) 233 if (esids_match(pc,unmapped_base) || esids_match(stack,unmapped_base))
204 || (GET_ESID(stack) == GET_ESID(unmapped_base)))
205 return; 234 return;
206 235
207 if (is_kernel_addr(unmapped_base)) 236 if (is_kernel_addr(unmapped_base))
diff --git a/arch/powerpc/platforms/cell/interrupt.c b/arch/powerpc/platforms/cell/interrupt.c
index 151fd8b82d63..04f74f9f9ab6 100644
--- a/arch/powerpc/platforms/cell/interrupt.c
+++ b/arch/powerpc/platforms/cell/interrupt.c
@@ -158,6 +158,18 @@ static unsigned int iic_get_irq(void)
158 return virq; 158 return virq;
159} 159}
160 160
161void iic_setup_cpu(void)
162{
163 out_be64(&__get_cpu_var(iic).regs->prio, 0xff);
164}
165
166u8 iic_get_target_id(int cpu)
167{
168 return per_cpu(iic, cpu).target_id;
169}
170
171EXPORT_SYMBOL_GPL(iic_get_target_id);
172
161#ifdef CONFIG_SMP 173#ifdef CONFIG_SMP
162 174
163/* Use the highest interrupt priorities for IPI */ 175/* Use the highest interrupt priorities for IPI */
@@ -166,29 +178,17 @@ static inline int iic_ipi_to_irq(int ipi)
166 return IIC_IRQ_TYPE_IPI + 0xf - ipi; 178 return IIC_IRQ_TYPE_IPI + 0xf - ipi;
167} 179}
168 180
169void iic_setup_cpu(void)
170{
171 out_be64(&__get_cpu_var(iic).regs->prio, 0xff);
172}
173
174void iic_cause_IPI(int cpu, int mesg) 181void iic_cause_IPI(int cpu, int mesg)
175{ 182{
176 out_be64(&per_cpu(iic, cpu).regs->generate, (0xf - mesg) << 4); 183 out_be64(&per_cpu(iic, cpu).regs->generate, (0xf - mesg) << 4);
177} 184}
178 185
179u8 iic_get_target_id(int cpu)
180{
181 return per_cpu(iic, cpu).target_id;
182}
183EXPORT_SYMBOL_GPL(iic_get_target_id);
184
185struct irq_host *iic_get_irq_host(int node) 186struct irq_host *iic_get_irq_host(int node)
186{ 187{
187 return iic_host; 188 return iic_host;
188} 189}
189EXPORT_SYMBOL_GPL(iic_get_irq_host); 190EXPORT_SYMBOL_GPL(iic_get_irq_host);
190 191
191
192static irqreturn_t iic_ipi_action(int irq, void *dev_id) 192static irqreturn_t iic_ipi_action(int irq, void *dev_id)
193{ 193{
194 int ipi = (int)(long)dev_id; 194 int ipi = (int)(long)dev_id;
diff --git a/arch/powerpc/platforms/cell/smp.c b/arch/powerpc/platforms/cell/smp.c
index 1c0acbad7425..e4438456c867 100644
--- a/arch/powerpc/platforms/cell/smp.c
+++ b/arch/powerpc/platforms/cell/smp.c
@@ -44,6 +44,7 @@
44#include <asm/rtas.h> 44#include <asm/rtas.h>
45 45
46#include "interrupt.h" 46#include "interrupt.h"
47#include <asm/udbg.h>
47 48
48#ifdef DEBUG 49#ifdef DEBUG
49#define DBG(fmt...) udbg_printf(fmt) 50#define DBG(fmt...) udbg_printf(fmt)
diff --git a/arch/powerpc/platforms/celleb/setup.c b/arch/powerpc/platforms/celleb/setup.c
index 1769d755eff3..ddfb35ae741f 100644
--- a/arch/powerpc/platforms/celleb/setup.c
+++ b/arch/powerpc/platforms/celleb/setup.c
@@ -49,6 +49,7 @@
49#include <asm/machdep.h> 49#include <asm/machdep.h>
50#include <asm/cputable.h> 50#include <asm/cputable.h>
51#include <asm/irq.h> 51#include <asm/irq.h>
52#include <asm/time.h>
52#include <asm/spu_priv1.h> 53#include <asm/spu_priv1.h>
53#include <asm/firmware.h> 54#include <asm/firmware.h>
54#include <asm/of_platform.h> 55#include <asm/of_platform.h>
diff --git a/arch/powerpc/platforms/iseries/irq.h b/arch/powerpc/platforms/iseries/irq.h
index 69f1b437fc7b..a1c236074034 100644
--- a/arch/powerpc/platforms/iseries/irq.h
+++ b/arch/powerpc/platforms/iseries/irq.h
@@ -1,9 +1,13 @@
1#ifndef _ISERIES_IRQ_H 1#ifndef _ISERIES_IRQ_H
2#define _ISERIES_IRQ_H 2#define _ISERIES_IRQ_H
3 3
4#ifdef CONFIG_PCI
4extern void iSeries_init_IRQ(void); 5extern void iSeries_init_IRQ(void);
5extern int iSeries_allocate_IRQ(HvBusNumber, HvSubBusNumber, u32); 6extern int iSeries_allocate_IRQ(HvBusNumber, HvSubBusNumber, u32);
6extern void iSeries_activate_IRQs(void); 7extern void iSeries_activate_IRQs(void);
8#else
9#define iSeries_init_IRQ NULL
10#endif
7extern unsigned int iSeries_get_irq(void); 11extern unsigned int iSeries_get_irq(void);
8 12
9#endif /* _ISERIES_IRQ_H */ 13#endif /* _ISERIES_IRQ_H */
diff --git a/arch/powerpc/platforms/iseries/setup.c b/arch/powerpc/platforms/iseries/setup.c
index 37ae07ee54a9..0877a8834110 100644
--- a/arch/powerpc/platforms/iseries/setup.c
+++ b/arch/powerpc/platforms/iseries/setup.c
@@ -617,10 +617,6 @@ static void iseries_dedicated_idle(void)
617 } 617 }
618} 618}
619 619
620#ifndef CONFIG_PCI
621void __init iSeries_init_IRQ(void) { }
622#endif
623
624static void __iomem *iseries_ioremap(phys_addr_t address, unsigned long size, 620static void __iomem *iseries_ioremap(phys_addr_t address, unsigned long size,
625 unsigned long flags) 621 unsigned long flags)
626{ 622{
diff --git a/arch/powerpc/platforms/iseries/vio.c b/arch/powerpc/platforms/iseries/vio.c
index d6435b03971f..be06cfd9fa3d 100644
--- a/arch/powerpc/platforms/iseries/vio.c
+++ b/arch/powerpc/platforms/iseries/vio.c
@@ -523,15 +523,16 @@ static void __init get_viotape_info(struct device_node *vio_root)
523static int __init iseries_vio_init(void) 523static int __init iseries_vio_init(void)
524{ 524{
525 struct device_node *vio_root; 525 struct device_node *vio_root;
526 int ret = -ENODEV;
526 527
527 if (!firmware_has_feature(FW_FEATURE_ISERIES)) 528 if (!firmware_has_feature(FW_FEATURE_ISERIES))
528 return -ENODEV; 529 goto out;
529 530
530 iommu_vio_init(); 531 iommu_vio_init();
531 532
532 vio_root = of_find_node_by_path("/vdevice"); 533 vio_root = of_find_node_by_path("/vdevice");
533 if (!vio_root) 534 if (!vio_root)
534 return -ENODEV; 535 goto out;
535 536
536 if (viopath_hostLp == HvLpIndexInvalid) { 537 if (viopath_hostLp == HvLpIndexInvalid) {
537 vio_set_hostlp(); 538 vio_set_hostlp();
@@ -544,10 +545,11 @@ static int __init iseries_vio_init(void)
544 get_viocd_info(vio_root); 545 get_viocd_info(vio_root);
545 get_viotape_info(vio_root); 546 get_viotape_info(vio_root);
546 547
547 return 0; 548 ret = 0;
548 549
549 put_node: 550 put_node:
550 of_node_put(vio_root); 551 of_node_put(vio_root);
551 return -ENODEV; 552 out:
553 return ret;
552} 554}
553arch_initcall(iseries_vio_init); 555arch_initcall(iseries_vio_init);
diff --git a/arch/powerpc/platforms/pseries/eeh.c b/arch/powerpc/platforms/pseries/eeh.c
index 22322b35a0ff..fb3d636e088b 100644
--- a/arch/powerpc/platforms/pseries/eeh.c
+++ b/arch/powerpc/platforms/pseries/eeh.c
@@ -186,6 +186,11 @@ static size_t gather_pci_data(struct pci_dn *pdn, char * buf, size_t len)
186 n += scnprintf(buf+n, len-n, "cmd/stat:%x\n", cfg); 186 n += scnprintf(buf+n, len-n, "cmd/stat:%x\n", cfg);
187 printk(KERN_WARNING "EEH: PCI cmd/status register: %08x\n", cfg); 187 printk(KERN_WARNING "EEH: PCI cmd/status register: %08x\n", cfg);
188 188
189 if (!dev) {
190 printk(KERN_WARNING "EEH: no PCI device for this of node\n");
191 return n;
192 }
193
189 /* Gather bridge-specific registers */ 194 /* Gather bridge-specific registers */
190 if (dev->class >> 16 == PCI_BASE_CLASS_BRIDGE) { 195 if (dev->class >> 16 == PCI_BASE_CLASS_BRIDGE) {
191 rtas_read_config(pdn, PCI_SEC_STATUS, 2, &cfg); 196 rtas_read_config(pdn, PCI_SEC_STATUS, 2, &cfg);
@@ -198,7 +203,7 @@ static size_t gather_pci_data(struct pci_dn *pdn, char * buf, size_t len)
198 } 203 }
199 204
200 /* Dump out the PCI-X command and status regs */ 205 /* Dump out the PCI-X command and status regs */
201 cap = pci_find_capability(pdn->pcidev, PCI_CAP_ID_PCIX); 206 cap = pci_find_capability(dev, PCI_CAP_ID_PCIX);
202 if (cap) { 207 if (cap) {
203 rtas_read_config(pdn, cap, 4, &cfg); 208 rtas_read_config(pdn, cap, 4, &cfg);
204 n += scnprintf(buf+n, len-n, "pcix-cmd:%x\n", cfg); 209 n += scnprintf(buf+n, len-n, "pcix-cmd:%x\n", cfg);
@@ -210,7 +215,7 @@ static size_t gather_pci_data(struct pci_dn *pdn, char * buf, size_t len)
210 } 215 }
211 216
212 /* If PCI-E capable, dump PCI-E cap 10, and the AER */ 217 /* If PCI-E capable, dump PCI-E cap 10, and the AER */
213 cap = pci_find_capability(pdn->pcidev, PCI_CAP_ID_EXP); 218 cap = pci_find_capability(dev, PCI_CAP_ID_EXP);
214 if (cap) { 219 if (cap) {
215 n += scnprintf(buf+n, len-n, "pci-e cap10:\n"); 220 n += scnprintf(buf+n, len-n, "pci-e cap10:\n");
216 printk(KERN_WARNING 221 printk(KERN_WARNING
@@ -222,7 +227,7 @@ static size_t gather_pci_data(struct pci_dn *pdn, char * buf, size_t len)
222 printk(KERN_WARNING "EEH: PCI-E %02x: %08x\n", i, cfg); 227 printk(KERN_WARNING "EEH: PCI-E %02x: %08x\n", i, cfg);
223 } 228 }
224 229
225 cap = pci_find_ext_capability(pdn->pcidev, PCI_EXT_CAP_ID_ERR); 230 cap = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_ERR);
226 if (cap) { 231 if (cap) {
227 n += scnprintf(buf+n, len-n, "pci-e AER:\n"); 232 n += scnprintf(buf+n, len-n, "pci-e AER:\n");
228 printk(KERN_WARNING 233 printk(KERN_WARNING
@@ -318,7 +323,7 @@ eeh_wait_for_slot_status(struct pci_dn *pdn, int max_wait_msecs)
318 323
319 if (rets[2] == 0) return -1; /* permanently unavailable */ 324 if (rets[2] == 0) return -1; /* permanently unavailable */
320 325
321 if (max_wait_msecs <= 0) return -1; 326 if (max_wait_msecs <= 0) break;
322 327
323 mwait = rets[2]; 328 mwait = rets[2];
324 if (mwait <= 0) { 329 if (mwait <= 0) {
diff --git a/arch/powerpc/platforms/pseries/eeh_driver.c b/arch/powerpc/platforms/pseries/eeh_driver.c
index 15e015ef6865..57e025e84ab4 100644
--- a/arch/powerpc/platforms/pseries/eeh_driver.c
+++ b/arch/powerpc/platforms/pseries/eeh_driver.c
@@ -105,17 +105,18 @@ static void eeh_report_error(struct pci_dev *dev, void *userdata)
105 return; 105 return;
106 106
107 rc = driver->err_handler->error_detected (dev, pci_channel_io_frozen); 107 rc = driver->err_handler->error_detected (dev, pci_channel_io_frozen);
108
109 /* A driver that needs a reset trumps all others */
110 if (rc == PCI_ERS_RESULT_NEED_RESET) *res = rc;
108 if (*res == PCI_ERS_RESULT_NONE) *res = rc; 111 if (*res == PCI_ERS_RESULT_NONE) *res = rc;
109 if (*res == PCI_ERS_RESULT_DISCONNECT &&
110 rc == PCI_ERS_RESULT_NEED_RESET) *res = rc;
111} 112}
112 113
113/** 114/**
114 * eeh_report_mmio_enabled - tell drivers that MMIO has been enabled 115 * eeh_report_mmio_enabled - tell drivers that MMIO has been enabled
115 * 116 *
116 * Report an EEH error to each device driver, collect up and 117 * Tells each device driver that IO ports, MMIO and config space I/O
117 * merge the device driver responses. Cumulative response 118 * are now enabled. Collects up and merges the device driver responses.
118 * passed back in "userdata". 119 * Cumulative response passed back in "userdata".
119 */ 120 */
120 121
121static void eeh_report_mmio_enabled(struct pci_dev *dev, void *userdata) 122static void eeh_report_mmio_enabled(struct pci_dev *dev, void *userdata)
@@ -123,17 +124,16 @@ static void eeh_report_mmio_enabled(struct pci_dev *dev, void *userdata)
123 enum pci_ers_result rc, *res = userdata; 124 enum pci_ers_result rc, *res = userdata;
124 struct pci_driver *driver = dev->driver; 125 struct pci_driver *driver = dev->driver;
125 126
126 // dev->error_state = pci_channel_mmio_enabled;
127
128 if (!driver || 127 if (!driver ||
129 !driver->err_handler || 128 !driver->err_handler ||
130 !driver->err_handler->mmio_enabled) 129 !driver->err_handler->mmio_enabled)
131 return; 130 return;
132 131
133 rc = driver->err_handler->mmio_enabled (dev); 132 rc = driver->err_handler->mmio_enabled (dev);
133
134 /* A driver that needs a reset trumps all others */
135 if (rc == PCI_ERS_RESULT_NEED_RESET) *res = rc;
134 if (*res == PCI_ERS_RESULT_NONE) *res = rc; 136 if (*res == PCI_ERS_RESULT_NONE) *res = rc;
135 if (*res == PCI_ERS_RESULT_DISCONNECT &&
136 rc == PCI_ERS_RESULT_NEED_RESET) *res = rc;
137} 137}
138 138
139/** 139/**
diff --git a/arch/powerpc/platforms/pseries/firmware.c b/arch/powerpc/platforms/pseries/firmware.c
index 8b18a1c40092..b765b7c77b65 100644
--- a/arch/powerpc/platforms/pseries/firmware.c
+++ b/arch/powerpc/platforms/pseries/firmware.c
@@ -25,6 +25,7 @@
25 25
26#include <asm/firmware.h> 26#include <asm/firmware.h>
27#include <asm/prom.h> 27#include <asm/prom.h>
28#include <asm/udbg.h>
28 29
29#ifdef DEBUG 30#ifdef DEBUG
30#define DBG(fmt...) udbg_printf(fmt) 31#define DBG(fmt...) udbg_printf(fmt)
diff --git a/arch/powerpc/platforms/pseries/msi.c b/arch/powerpc/platforms/pseries/msi.c
index 2793a1b100e6..f15222bbe136 100644
--- a/arch/powerpc/platforms/pseries/msi.c
+++ b/arch/powerpc/platforms/pseries/msi.c
@@ -171,6 +171,7 @@ static int rtas_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)
171 struct pci_dn *pdn; 171 struct pci_dn *pdn;
172 int hwirq, virq, i, rc; 172 int hwirq, virq, i, rc;
173 struct msi_desc *entry; 173 struct msi_desc *entry;
174 struct msi_msg msg;
174 175
175 pdn = get_pdn(pdev); 176 pdn = get_pdn(pdev);
176 if (!pdn) 177 if (!pdn)
@@ -213,6 +214,11 @@ static int rtas_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)
213 214
214 dev_dbg(&pdev->dev, "rtas_msi: allocated virq %d\n", virq); 215 dev_dbg(&pdev->dev, "rtas_msi: allocated virq %d\n", virq);
215 set_irq_msi(virq, entry); 216 set_irq_msi(virq, entry);
217
218 /* Read config space back so we can restore after reset */
219 read_msi_msg(virq, &msg);
220 entry->msg = msg;
221
216 unmask_msi_irq(virq); 222 unmask_msi_irq(virq);
217 } 223 }
218 224
diff --git a/arch/powerpc/sysdev/i8259.c b/arch/powerpc/sysdev/i8259.c
index 7c1b27ac7d3c..216c0f5680d2 100644
--- a/arch/powerpc/sysdev/i8259.c
+++ b/arch/powerpc/sysdev/i8259.c
@@ -137,6 +137,7 @@ static void i8259_unmask_irq(unsigned int irq_nr)
137static struct irq_chip i8259_pic = { 137static struct irq_chip i8259_pic = {
138 .typename = " i8259 ", 138 .typename = " i8259 ",
139 .mask = i8259_mask_irq, 139 .mask = i8259_mask_irq,
140 .disable = i8259_mask_irq,
140 .unmask = i8259_unmask_irq, 141 .unmask = i8259_unmask_irq,
141 .mask_ack = i8259_mask_and_ack_irq, 142 .mask_ack = i8259_mask_and_ack_irq,
142}; 143};
diff --git a/arch/powerpc/sysdev/mv64x60_pci.c b/arch/powerpc/sysdev/mv64x60_pci.c
index 9b3baa7317d7..6933f9c73b43 100644
--- a/arch/powerpc/sysdev/mv64x60_pci.c
+++ b/arch/powerpc/sysdev/mv64x60_pci.c
@@ -24,8 +24,9 @@
24#define MV64X60_VAL_LEN_MAX 11 24#define MV64X60_VAL_LEN_MAX 11
25#define MV64X60_PCICFG_CPCI_HOTSWAP 0x68 25#define MV64X60_PCICFG_CPCI_HOTSWAP 0x68
26 26
27static ssize_t mv64x60_hs_reg_read(struct kobject *kobj, char *buf, loff_t off, 27static ssize_t mv64x60_hs_reg_read(struct kobject *kobj,
28 size_t count) 28 struct bin_attribute *attr, char *buf,
29 loff_t off, size_t count)
29{ 30{
30 struct pci_dev *phb; 31 struct pci_dev *phb;
31 u32 v; 32 u32 v;
@@ -44,8 +45,9 @@ static ssize_t mv64x60_hs_reg_read(struct kobject *kobj, char *buf, loff_t off,
44 return sprintf(buf, "0x%08x\n", v); 45 return sprintf(buf, "0x%08x\n", v);
45} 46}
46 47
47static ssize_t mv64x60_hs_reg_write(struct kobject *kobj, char *buf, loff_t off, 48static ssize_t mv64x60_hs_reg_write(struct kobject *kobj,
48 size_t count) 49 struct bin_attribute *attr, char *buf,
50 loff_t off, size_t count)
49{ 51{
50 struct pci_dev *phb; 52 struct pci_dev *phb;
51 u32 v; 53 u32 v;
diff --git a/arch/ppc/kernel/entry.S b/arch/ppc/kernel/entry.S
index fba7ca17a67e..b19bfef2034d 100644
--- a/arch/ppc/kernel/entry.S
+++ b/arch/ppc/kernel/entry.S
@@ -244,6 +244,13 @@ syscall_exit_cont:
244 andis. r10,r0,DBCR0_IC@h 244 andis. r10,r0,DBCR0_IC@h
245 bnel- load_dbcr0 245 bnel- load_dbcr0
246#endif 246#endif
247#ifdef CONFIG_44x
248 lis r4,icache_44x_need_flush@ha
249 lwz r5,icache_44x_need_flush@l(r4)
250 cmplwi cr0,r5,0
251 bne- 2f
2521:
253#endif /* CONFIG_44x */
247 stwcx. r0,0,r1 /* to clear the reservation */ 254 stwcx. r0,0,r1 /* to clear the reservation */
248 lwz r4,_LINK(r1) 255 lwz r4,_LINK(r1)
249 lwz r5,_CCR(r1) 256 lwz r5,_CCR(r1)
@@ -258,6 +265,12 @@ syscall_exit_cont:
258 mtspr SPRN_SRR1,r8 265 mtspr SPRN_SRR1,r8
259 SYNC 266 SYNC
260 RFI 267 RFI
268#ifdef CONFIG_44x
2692: li r7,0
270 iccci r0,r0
271 stw r7,icache_44x_need_flush@l(r4)
272 b 1b
273#endif /* CONFIG_44x */
261 274
26266: li r3,-ENOSYS 27566: li r3,-ENOSYS
263 b ret_from_syscall 276 b ret_from_syscall
@@ -679,6 +692,16 @@ resume_kernel:
679 692
680 /* interrupts are hard-disabled at this point */ 693 /* interrupts are hard-disabled at this point */
681restore: 694restore:
695#ifdef CONFIG_44x
696 lis r4,icache_44x_need_flush@ha
697 lwz r5,icache_44x_need_flush@l(r4)
698 cmplwi cr0,r5,0
699 beq+ 1f
700 li r6,0
701 iccci r0,r0
702 stw r6,icache_44x_need_flush@l(r4)
7031:
704#endif /* CONFIG_44x */
682 lwz r0,GPR0(r1) 705 lwz r0,GPR0(r1)
683 lwz r2,GPR2(r1) 706 lwz r2,GPR2(r1)
684 REST_4GPRS(3, r1) 707 REST_4GPRS(3, r1)
diff --git a/arch/ppc/kernel/misc.S b/arch/ppc/kernel/misc.S
index a22e1f4d94c8..e0c850d85c53 100644
--- a/arch/ppc/kernel/misc.S
+++ b/arch/ppc/kernel/misc.S
@@ -224,7 +224,16 @@ _GLOBAL(_tlbia)
224 */ 224 */
225_GLOBAL(_tlbie) 225_GLOBAL(_tlbie)
226#if defined(CONFIG_40x) 226#if defined(CONFIG_40x)
227 /* We run the search with interrupts disabled because we have to change
228 * the PID and I don't want to preempt when that happens.
229 */
230 mfmsr r5
231 mfspr r6,SPRN_PID
232 wrteei 0
233 mtspr SPRN_PID,r4
227 tlbsx. r3, 0, r3 234 tlbsx. r3, 0, r3
235 mtspr SPRN_PID,r6
236 wrtee r5
228 bne 10f 237 bne 10f
229 sync 238 sync
230 /* There are only 64 TLB entries, so r3 < 64, which means bit 25 is clear. 239 /* There are only 64 TLB entries, so r3 < 64, which means bit 25 is clear.
@@ -234,22 +243,21 @@ _GLOBAL(_tlbie)
234 isync 243 isync
23510: 24410:
236#elif defined(CONFIG_44x) 245#elif defined(CONFIG_44x)
237 mfspr r4,SPRN_MMUCR 246 mfspr r5,SPRN_MMUCR
238 mfspr r5,SPRN_PID /* Get PID */ 247 rlwimi r5,r4,0,24,31 /* Set TID */
239 rlwimi r4,r5,0,24,31 /* Set TID */
240 248
241 /* We have to run the search with interrupts disabled, even critical 249 /* We have to run the search with interrupts disabled, even critical
242 * and debug interrupts (in fact the only critical exceptions we have 250 * and debug interrupts (in fact the only critical exceptions we have
243 * are debug and machine check). Otherwise an interrupt which causes 251 * are debug and machine check). Otherwise an interrupt which causes
244 * a TLB miss can clobber the MMUCR between the mtspr and the tlbsx. */ 252 * a TLB miss can clobber the MMUCR between the mtspr and the tlbsx. */
245 mfmsr r5 253 mfmsr r4
246 lis r6,(MSR_EE|MSR_CE|MSR_ME|MSR_DE)@ha 254 lis r6,(MSR_EE|MSR_CE|MSR_ME|MSR_DE)@ha
247 addi r6,r6,(MSR_EE|MSR_CE|MSR_ME|MSR_DE)@l 255 addi r6,r6,(MSR_EE|MSR_CE|MSR_ME|MSR_DE)@l
248 andc r6,r5,r6 256 andc r6,r4,r6
249 mtmsr r6 257 mtmsr r6
250 mtspr SPRN_MMUCR,r4 258 mtspr SPRN_MMUCR,r5
251 tlbsx. r3, 0, r3 259 tlbsx. r3, 0, r3
252 mtmsr r5 260 mtmsr r4
253 bne 10f 261 bne 10f
254 sync 262 sync
255 /* There are only 64 TLB entries, so r3 < 64, 263 /* There are only 64 TLB entries, so r3 < 64,
@@ -491,12 +499,21 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE)
491 addi r3,r3,L1_CACHE_BYTES 499 addi r3,r3,L1_CACHE_BYTES
492 bdnz 0b 500 bdnz 0b
493 sync 501 sync
502#ifndef CONFIG_44x
503 /* We don't flush the icache on 44x. Those have a virtual icache
504 * and we don't have access to the virtual address here (it's
505 * not the page vaddr but where it's mapped in user space). The
506 * flushing of the icache on these is handled elsewhere, when
507 * a change in the address space occurs, before returning to
508 * user space
509 */
494 mtctr r4 510 mtctr r4
4951: icbi 0,r6 5111: icbi 0,r6
496 addi r6,r6,L1_CACHE_BYTES 512 addi r6,r6,L1_CACHE_BYTES
497 bdnz 1b 513 bdnz 1b
498 sync 514 sync
499 isync 515 isync
516#endif /* CONFIG_44x */
500 blr 517 blr
501 518
502/* 519/*
diff --git a/arch/ppc/mm/44x_mmu.c b/arch/ppc/mm/44x_mmu.c
index 0a0a0487b334..6536a25cfcb8 100644
--- a/arch/ppc/mm/44x_mmu.c
+++ b/arch/ppc/mm/44x_mmu.c
@@ -61,6 +61,7 @@ extern char etext[], _stext[];
61 */ 61 */
62unsigned int tlb_44x_index = 0; 62unsigned int tlb_44x_index = 0;
63unsigned int tlb_44x_hwater = 62; 63unsigned int tlb_44x_hwater = 62;
64int icache_44x_need_flush;
64 65
65/* 66/*
66 * "Pins" a 256MB TLB entry in AS0 for kernel lowmem 67 * "Pins" a 256MB TLB entry in AS0 for kernel lowmem
diff --git a/arch/ppc/mm/4xx_mmu.c b/arch/ppc/mm/4xx_mmu.c
index 838e09db71d9..ea785dbaac7c 100644
--- a/arch/ppc/mm/4xx_mmu.c
+++ b/arch/ppc/mm/4xx_mmu.c
@@ -99,13 +99,12 @@ unsigned long __init mmu_mapin_ram(void)
99 99
100 v = KERNELBASE; 100 v = KERNELBASE;
101 p = PPC_MEMSTART; 101 p = PPC_MEMSTART;
102 s = 0; 102 s = total_lowmem;
103 103
104 if (__map_without_ltlbs) { 104 if (__map_without_ltlbs)
105 return s; 105 return 0;
106 }
107 106
108 while (s <= (total_lowmem - LARGE_PAGE_SIZE_16M)) { 107 while (s >= LARGE_PAGE_SIZE_16M) {
109 pmd_t *pmdp; 108 pmd_t *pmdp;
110 unsigned long val = p | _PMD_SIZE_16M | _PAGE_HWEXEC | _PAGE_HWWRITE; 109 unsigned long val = p | _PMD_SIZE_16M | _PAGE_HWEXEC | _PAGE_HWWRITE;
111 110
@@ -117,10 +116,10 @@ unsigned long __init mmu_mapin_ram(void)
117 116
118 v += LARGE_PAGE_SIZE_16M; 117 v += LARGE_PAGE_SIZE_16M;
119 p += LARGE_PAGE_SIZE_16M; 118 p += LARGE_PAGE_SIZE_16M;
120 s += LARGE_PAGE_SIZE_16M; 119 s -= LARGE_PAGE_SIZE_16M;
121 } 120 }
122 121
123 while (s <= (total_lowmem - LARGE_PAGE_SIZE_4M)) { 122 while (s >= LARGE_PAGE_SIZE_4M) {
124 pmd_t *pmdp; 123 pmd_t *pmdp;
125 unsigned long val = p | _PMD_SIZE_4M | _PAGE_HWEXEC | _PAGE_HWWRITE; 124 unsigned long val = p | _PMD_SIZE_4M | _PAGE_HWEXEC | _PAGE_HWWRITE;
126 125
@@ -129,8 +128,8 @@ unsigned long __init mmu_mapin_ram(void)
129 128
130 v += LARGE_PAGE_SIZE_4M; 129 v += LARGE_PAGE_SIZE_4M;
131 p += LARGE_PAGE_SIZE_4M; 130 p += LARGE_PAGE_SIZE_4M;
132 s += LARGE_PAGE_SIZE_4M; 131 s -= LARGE_PAGE_SIZE_4M;
133 } 132 }
134 133
135 return s; 134 return total_lowmem - s;
136} 135}
diff --git a/arch/ppc/mm/fault.c b/arch/ppc/mm/fault.c
index 254c23b755e6..36c0e7529edb 100644
--- a/arch/ppc/mm/fault.c
+++ b/arch/ppc/mm/fault.c
@@ -227,7 +227,7 @@ good_area:
227 set_bit(PG_arch_1, &page->flags); 227 set_bit(PG_arch_1, &page->flags);
228 } 228 }
229 pte_update(ptep, 0, _PAGE_HWEXEC); 229 pte_update(ptep, 0, _PAGE_HWEXEC);
230 _tlbie(address); 230 _tlbie(address, mm->context.id);
231 pte_unmap_unlock(ptep, ptl); 231 pte_unmap_unlock(ptep, ptl);
232 up_read(&mm->mmap_sem); 232 up_read(&mm->mmap_sem);
233 return 0; 233 return 0;
diff --git a/arch/ppc/mm/mmu_decl.h b/arch/ppc/mm/mmu_decl.h
index 540f3292b229..f1d4f2109a99 100644
--- a/arch/ppc/mm/mmu_decl.h
+++ b/arch/ppc/mm/mmu_decl.h
@@ -54,12 +54,12 @@ extern unsigned int num_tlbcam_entries;
54#define mmu_mapin_ram() (0UL) 54#define mmu_mapin_ram() (0UL)
55 55
56#elif defined(CONFIG_4xx) 56#elif defined(CONFIG_4xx)
57#define flush_HPTE(X, va, pg) _tlbie(va) 57#define flush_HPTE(pid, va, pg) _tlbie(va, pid)
58extern void MMU_init_hw(void); 58extern void MMU_init_hw(void);
59extern unsigned long mmu_mapin_ram(void); 59extern unsigned long mmu_mapin_ram(void);
60 60
61#elif defined(CONFIG_FSL_BOOKE) 61#elif defined(CONFIG_FSL_BOOKE)
62#define flush_HPTE(X, va, pg) _tlbie(va) 62#define flush_HPTE(pid, va, pg) _tlbie(va, pid)
63extern void MMU_init_hw(void); 63extern void MMU_init_hw(void);
64extern unsigned long mmu_mapin_ram(void); 64extern unsigned long mmu_mapin_ram(void);
65extern void adjust_total_lowmem(void); 65extern void adjust_total_lowmem(void);
diff --git a/arch/ppc/platforms/4xx/ebony.c b/arch/ppc/platforms/4xx/ebony.c
index 05d7184d7e14..453643a0eeea 100644
--- a/arch/ppc/platforms/4xx/ebony.c
+++ b/arch/ppc/platforms/4xx/ebony.c
@@ -236,7 +236,7 @@ ebony_early_serial_map(void)
236 gen550_init(0, &port); 236 gen550_init(0, &port);
237 237
238 /* Purge TLB entry added in head_44x.S for early serial access */ 238 /* Purge TLB entry added in head_44x.S for early serial access */
239 _tlbie(UART0_IO_BASE); 239 _tlbie(UART0_IO_BASE, 0);
240#endif 240#endif
241 241
242 port.membase = ioremap64(PPC440GP_UART1_ADDR, 8); 242 port.membase = ioremap64(PPC440GP_UART1_ADDR, 8);
diff --git a/arch/ppc/platforms/4xx/luan.c b/arch/ppc/platforms/4xx/luan.c
index 4b169610f154..b79ebb8a3e6c 100644
--- a/arch/ppc/platforms/4xx/luan.c
+++ b/arch/ppc/platforms/4xx/luan.c
@@ -230,9 +230,14 @@ luan_setup_hoses(void)
230 230
231 /* Allocate hoses for PCIX1 and PCIX2 */ 231 /* Allocate hoses for PCIX1 and PCIX2 */
232 hose1 = pcibios_alloc_controller(); 232 hose1 = pcibios_alloc_controller();
233 if (!hose1)
234 return;
235
233 hose2 = pcibios_alloc_controller(); 236 hose2 = pcibios_alloc_controller();
234 if (!hose1 || !hose2) 237 if (!hose2) {
238 pcibios_free_controller(hose1);
235 return; 239 return;
240 }
236 241
237 /* Setup PCIX1 */ 242 /* Setup PCIX1 */
238 hose1->first_busno = 0; 243 hose1->first_busno = 0;
diff --git a/arch/ppc/platforms/4xx/ocotea.c b/arch/ppc/platforms/4xx/ocotea.c
index fd0f971881d6..28a712cd4800 100644
--- a/arch/ppc/platforms/4xx/ocotea.c
+++ b/arch/ppc/platforms/4xx/ocotea.c
@@ -259,7 +259,7 @@ ocotea_early_serial_map(void)
259 gen550_init(0, &port); 259 gen550_init(0, &port);
260 260
261 /* Purge TLB entry added in head_44x.S for early serial access */ 261 /* Purge TLB entry added in head_44x.S for early serial access */
262 _tlbie(UART0_IO_BASE); 262 _tlbie(UART0_IO_BASE, 0);
263#endif 263#endif
264 264
265 port.membase = ioremap64(PPC440GX_UART1_ADDR, 8); 265 port.membase = ioremap64(PPC440GX_UART1_ADDR, 8);
diff --git a/arch/ppc/platforms/4xx/taishan.c b/arch/ppc/platforms/4xx/taishan.c
index 888c492b4a45..f6a0c6650f33 100644
--- a/arch/ppc/platforms/4xx/taishan.c
+++ b/arch/ppc/platforms/4xx/taishan.c
@@ -316,7 +316,7 @@ taishan_early_serial_map(void)
316 gen550_init(0, &port); 316 gen550_init(0, &port);
317 317
318 /* Purge TLB entry added in head_44x.S for early serial access */ 318 /* Purge TLB entry added in head_44x.S for early serial access */
319 _tlbie(UART0_IO_BASE); 319 _tlbie(UART0_IO_BASE, 0);
320#endif 320#endif
321 321
322 port.membase = ioremap64(PPC440GX_UART1_ADDR, 8); 322 port.membase = ioremap64(PPC440GX_UART1_ADDR, 8);
diff --git a/arch/ppc/syslib/i8259.c b/arch/ppc/syslib/i8259.c
index 1e5a00a4b5f5..559f27c6aefe 100644
--- a/arch/ppc/syslib/i8259.c
+++ b/arch/ppc/syslib/i8259.c
@@ -127,6 +127,7 @@ static void i8259_unmask_irq(unsigned int irq_nr)
127static struct irq_chip i8259_pic = { 127static struct irq_chip i8259_pic = {
128 .typename = " i8259 ", 128 .typename = " i8259 ",
129 .mask = i8259_mask_irq, 129 .mask = i8259_mask_irq,
130 .disable = i8259_mask_irq,
130 .unmask = i8259_unmask_irq, 131 .unmask = i8259_unmask_irq,
131 .mask_ack = i8259_mask_and_ack_irq, 132 .mask_ack = i8259_mask_and_ack_irq,
132}; 133};
diff --git a/arch/ppc/syslib/m8260_setup.c b/arch/ppc/syslib/m8260_setup.c
index 15f0d7323535..46588fa94381 100644
--- a/arch/ppc/syslib/m8260_setup.c
+++ b/arch/ppc/syslib/m8260_setup.c
@@ -25,6 +25,7 @@
25#include <asm/machdep.h> 25#include <asm/machdep.h>
26#include <asm/bootinfo.h> 26#include <asm/bootinfo.h>
27#include <asm/time.h> 27#include <asm/time.h>
28#include <asm/ppc_sys.h>
28 29
29#include "cpm2_pic.h" 30#include "cpm2_pic.h"
30 31
@@ -61,7 +62,7 @@ m8260_setup_arch(void)
61#endif 62#endif
62 63
63 identify_ppc_sys_by_name_and_id(BOARD_CHIP_NAME, 64 identify_ppc_sys_by_name_and_id(BOARD_CHIP_NAME,
64 in_be32(CPM_MAP_ADDR + CPM_IMMR_OFFSET)); 65 in_be32((void *)CPM_MAP_ADDR + CPM_IMMR_OFFSET));
65 66
66 m82xx_board_setup(); 67 m82xx_board_setup();
67} 68}
@@ -147,12 +148,12 @@ m8260_show_cpuinfo(struct seq_file *m)
147 seq_printf(m, "vendor\t\t: %s\n" 148 seq_printf(m, "vendor\t\t: %s\n"
148 "machine\t\t: %s\n" 149 "machine\t\t: %s\n"
149 "\n" 150 "\n"
150 "mem size\t\t: 0x%08x\n" 151 "mem size\t\t: 0x%08lx\n"
151 "console baud\t\t: %d\n" 152 "console baud\t\t: %ld\n"
152 "\n" 153 "\n"
153 "core clock\t: %u MHz\n" 154 "core clock\t: %lu MHz\n"
154 "CPM clock\t: %u MHz\n" 155 "CPM clock\t: %lu MHz\n"
155 "bus clock\t: %u MHz\n", 156 "bus clock\t: %lu MHz\n",
156 CPUINFO_VENDOR, CPUINFO_MACHINE, bp->bi_memsize, 157 CPUINFO_VENDOR, CPUINFO_MACHINE, bp->bi_memsize,
157 bp->bi_baudrate, bp->bi_intfreq / 1000000, 158 bp->bi_baudrate, bp->bi_intfreq / 1000000,
158 bp->bi_cpmfreq / 1000000, bp->bi_busfreq / 1000000); 159 bp->bi_cpmfreq / 1000000, bp->bi_busfreq / 1000000);