aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/Kconfig2
-rw-r--r--arch/arm/boot/compressed/misc.c4
-rw-r--r--arch/arm/configs/collie_defconfig430
-rw-r--r--arch/arm/configs/versatile_defconfig390
-rw-r--r--arch/arm/kernel/asm-offsets.c6
-rw-r--r--arch/arm/kernel/head-nommu.S4
-rw-r--r--arch/arm/kernel/head.S8
-rw-r--r--arch/arm/kernel/process.c37
-rw-r--r--arch/arm/mach-aaec2000/aaed2000.c7
-rw-r--r--arch/arm/mach-aaec2000/core.c5
-rw-r--r--arch/arm/mach-aaec2000/core.h1
-rw-r--r--arch/arm/mach-imx/generic.c52
-rw-r--r--arch/arm/mach-imx/mx1ads.c76
-rw-r--r--arch/arm/mach-ixp4xx/Kconfig15
-rw-r--r--arch/arm/mach-ixp4xx/Makefile3
-rw-r--r--arch/arm/mach-pxa/dma.c17
-rw-r--r--arch/arm/mach-sa1100/irq.c16
-rw-r--r--arch/arm/tools/mach-types89
-rw-r--r--arch/arm/vfp/vfpmodule.c2
-rw-r--r--arch/i386/Kconfig6
-rw-r--r--arch/i386/kernel/acpi/boot.c6
-rw-r--r--arch/i386/kernel/io_apic.c5
-rw-r--r--arch/i386/kernel/mpparse.c12
-rw-r--r--arch/i386/kernel/setup.c2
-rw-r--r--arch/i386/oprofile/nmi_int.c7
-rw-r--r--arch/ia64/lib/memcpy_mck.S9
-rw-r--r--arch/powerpc/kernel/kprobes.c14
-rw-r--r--arch/powerpc/kernel/prom.c70
-rw-r--r--arch/powerpc/platforms/pseries/eeh_event.c8
-rw-r--r--arch/ppc/kernel/head_8xx.S4
-rw-r--r--arch/ppc/platforms/mpc866ads_setup.c2
-rw-r--r--arch/s390/kernel/compat_wrapper.S8
-rw-r--r--arch/s390/kernel/syscalls.S1
-rw-r--r--arch/s390/kernel/time.c7
-rw-r--r--arch/sparc/kernel/ioport.c5
-rw-r--r--arch/sparc/kernel/module.c1
-rw-r--r--arch/sparc/kernel/sparc_ksyms.c13
-rw-r--r--arch/sparc/kernel/systbls.S2
-rw-r--r--arch/sparc64/defconfig19
-rw-r--r--arch/sparc64/kernel/module.c5
-rw-r--r--arch/sparc64/kernel/sys32.S1
-rw-r--r--arch/sparc64/kernel/systbls.S4
-rw-r--r--arch/um/kernel/time_kern.c2
-rw-r--r--arch/x86_64/kernel/e820.c6
-rw-r--r--arch/x86_64/kernel/io_apic.c5
-rw-r--r--arch/x86_64/kernel/mpparse.c12
-rw-r--r--arch/x86_64/kernel/pci-gart.c8
-rw-r--r--arch/x86_64/kernel/setup.c30
-rw-r--r--arch/x86_64/kernel/traps.c12
49 files changed, 960 insertions, 490 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 1dbf6ddb300d..08b7cc900cae 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -150,8 +150,6 @@ config ARCH_IOP3XX
150 150
151config ARCH_IXP4XX 151config ARCH_IXP4XX
152 bool "IXP4xx-based" 152 bool "IXP4xx-based"
153 select DMABOUNCE
154 select PCI
155 help 153 help
156 Support for Intel's IXP4XX (XScale) family of processors. 154 Support for Intel's IXP4XX (XScale) family of processors.
157 155
diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c
index 0af3772efcb7..ace3fb5835d9 100644
--- a/arch/arm/boot/compressed/misc.c
+++ b/arch/arm/boot/compressed/misc.c
@@ -38,10 +38,10 @@ static void icedcc_putc(int ch)
38 if (--i < 0) 38 if (--i < 0)
39 return; 39 return;
40 40
41 asm("mrc p14, 0, %0, c0, c0, 0" : "=r" (status)); 41 asm volatile ("mrc p14, 0, %0, c0, c0, 0" : "=r" (status));
42 } while (status & 2); 42 } while (status & 2);
43 43
44 asm("mcr p15, 0, %0, c1, c0, 0" : : "r" (ch)); 44 asm("mcr p14, 0, %0, c1, c0, 0" : : "r" (ch));
45} 45}
46 46
47#define putc(ch) icedcc_putc(ch) 47#define putc(ch) icedcc_putc(ch)
diff --git a/arch/arm/configs/collie_defconfig b/arch/arm/configs/collie_defconfig
index c9aa878e610a..074c47a4fb2e 100644
--- a/arch/arm/configs/collie_defconfig
+++ b/arch/arm/configs/collie_defconfig
@@ -1,21 +1,21 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.14-rc3 3# Linux kernel version: 2.6.17-rc1
4# Sun Oct 9 16:55:14 2005 4# Fri Apr 14 19:09:52 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_MMU=y 7CONFIG_MMU=y
8CONFIG_UID16=y
9CONFIG_RWSEM_GENERIC_SPINLOCK=y 8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y 10CONFIG_GENERIC_CALIBRATE_DELAY=y
11CONFIG_ARCH_MTD_XIP=y
12CONFIG_VECTORS_BASE=0xffff0000
11 13
12# 14#
13# Code maturity level options 15# Code maturity level options
14# 16#
15CONFIG_EXPERIMENTAL=y 17CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y 18CONFIG_BROKEN_ON_SMP=y
18CONFIG_LOCK_KERNEL=y
19CONFIG_INIT_ENV_ARG_LIMIT=32 19CONFIG_INIT_ENV_ARG_LIMIT=32
20 20
21# 21#
@@ -23,45 +23,58 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
23# 23#
24CONFIG_LOCALVERSION="" 24CONFIG_LOCALVERSION=""
25CONFIG_LOCALVERSION_AUTO=y 25CONFIG_LOCALVERSION_AUTO=y
26CONFIG_SWAP=y 26# CONFIG_SWAP is not set
27CONFIG_SYSVIPC=y 27CONFIG_SYSVIPC=y
28# CONFIG_POSIX_MQUEUE is not set 28# CONFIG_POSIX_MQUEUE is not set
29CONFIG_BSD_PROCESS_ACCT=y 29# CONFIG_BSD_PROCESS_ACCT is not set
30# CONFIG_BSD_PROCESS_ACCT_V3 is not set
31CONFIG_SYSCTL=y 30CONFIG_SYSCTL=y
32# CONFIG_AUDIT is not set 31# CONFIG_AUDIT is not set
33CONFIG_HOTPLUG=y
34CONFIG_KOBJECT_UEVENT=y
35# CONFIG_IKCONFIG is not set 32# CONFIG_IKCONFIG is not set
33# CONFIG_RELAY is not set
36CONFIG_INITRAMFS_SOURCE="" 34CONFIG_INITRAMFS_SOURCE=""
35CONFIG_UID16=y
36# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
37CONFIG_EMBEDDED=y 37CONFIG_EMBEDDED=y
38CONFIG_KALLSYMS=y 38CONFIG_KALLSYMS=y
39# CONFIG_KALLSYMS_ALL is not set 39# CONFIG_KALLSYMS_ALL is not set
40# CONFIG_KALLSYMS_EXTRA_PASS is not set 40# CONFIG_KALLSYMS_EXTRA_PASS is not set
41CONFIG_HOTPLUG=y
41CONFIG_PRINTK=y 42CONFIG_PRINTK=y
42CONFIG_BUG=y 43CONFIG_BUG=y
43CONFIG_BASE_FULL=y 44CONFIG_ELF_CORE=y
45# CONFIG_BASE_FULL is not set
44CONFIG_FUTEX=y 46CONFIG_FUTEX=y
45CONFIG_EPOLL=y 47# CONFIG_EPOLL is not set
46# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
47CONFIG_SHMEM=y 48CONFIG_SHMEM=y
48CONFIG_CC_ALIGN_FUNCTIONS=0 49# CONFIG_SLAB is not set
49CONFIG_CC_ALIGN_LABELS=0 50CONFIG_DOUBLEFAULT=y
50CONFIG_CC_ALIGN_LOOPS=0
51CONFIG_CC_ALIGN_JUMPS=0
52# CONFIG_TINY_SHMEM is not set 51# CONFIG_TINY_SHMEM is not set
53CONFIG_BASE_SMALL=0 52CONFIG_BASE_SMALL=1
53CONFIG_SLOB=y
54CONFIG_OBSOLETE_INTERMODULE=y
54 55
55# 56#
56# Loadable module support 57# Loadable module support
57# 58#
58CONFIG_MODULES=y 59# CONFIG_MODULES is not set
59CONFIG_MODULE_UNLOAD=y 60
60CONFIG_MODULE_FORCE_UNLOAD=y 61#
61CONFIG_OBSOLETE_MODPARM=y 62# Block layer
62CONFIG_MODVERSIONS=y 63#
63# CONFIG_MODULE_SRCVERSION_ALL is not set 64# CONFIG_BLK_DEV_IO_TRACE is not set
64CONFIG_KMOD=y 65
66#
67# IO Schedulers
68#
69CONFIG_IOSCHED_NOOP=y
70CONFIG_IOSCHED_AS=y
71# CONFIG_IOSCHED_DEADLINE is not set
72# CONFIG_IOSCHED_CFQ is not set
73CONFIG_DEFAULT_AS=y
74# CONFIG_DEFAULT_DEADLINE is not set
75# CONFIG_DEFAULT_CFQ is not set
76# CONFIG_DEFAULT_NOOP is not set
77CONFIG_DEFAULT_IOSCHED="anticipatory"
65 78
66# 79#
67# System Type 80# System Type
@@ -70,11 +83,13 @@ CONFIG_KMOD=y
70# CONFIG_ARCH_CLPS711X is not set 83# CONFIG_ARCH_CLPS711X is not set
71# CONFIG_ARCH_CO285 is not set 84# CONFIG_ARCH_CO285 is not set
72# CONFIG_ARCH_EBSA110 is not set 85# CONFIG_ARCH_EBSA110 is not set
86# CONFIG_ARCH_EP93XX is not set
73# CONFIG_ARCH_FOOTBRIDGE is not set 87# CONFIG_ARCH_FOOTBRIDGE is not set
74# CONFIG_ARCH_INTEGRATOR is not set 88# CONFIG_ARCH_INTEGRATOR is not set
75# CONFIG_ARCH_IOP3XX is not set 89# CONFIG_ARCH_IOP3XX is not set
76# CONFIG_ARCH_IXP4XX is not set 90# CONFIG_ARCH_IXP4XX is not set
77# CONFIG_ARCH_IXP2000 is not set 91# CONFIG_ARCH_IXP2000 is not set
92# CONFIG_ARCH_IXP23XX is not set
78# CONFIG_ARCH_L7200 is not set 93# CONFIG_ARCH_L7200 is not set
79# CONFIG_ARCH_PXA is not set 94# CONFIG_ARCH_PXA is not set
80# CONFIG_ARCH_RPC is not set 95# CONFIG_ARCH_RPC is not set
@@ -84,9 +99,11 @@ CONFIG_ARCH_SA1100=y
84# CONFIG_ARCH_LH7A40X is not set 99# CONFIG_ARCH_LH7A40X is not set
85# CONFIG_ARCH_OMAP is not set 100# CONFIG_ARCH_OMAP is not set
86# CONFIG_ARCH_VERSATILE is not set 101# CONFIG_ARCH_VERSATILE is not set
102# CONFIG_ARCH_REALVIEW is not set
87# CONFIG_ARCH_IMX is not set 103# CONFIG_ARCH_IMX is not set
88# CONFIG_ARCH_H720X is not set 104# CONFIG_ARCH_H720X is not set
89# CONFIG_ARCH_AAEC2000 is not set 105# CONFIG_ARCH_AAEC2000 is not set
106# CONFIG_ARCH_AT91RM9200 is not set
90 107
91# 108#
92# SA11x0 Implementations 109# SA11x0 Implementations
@@ -128,20 +145,32 @@ CONFIG_SHARP_SCOOP=y
128# Bus support 145# Bus support
129# 146#
130CONFIG_ISA=y 147CONFIG_ISA=y
131CONFIG_ISA_DMA_API=y
132 148
133# 149#
134# PCCARD (PCMCIA/CardBus) support 150# PCCARD (PCMCIA/CardBus) support
135# 151#
136# CONFIG_PCCARD is not set 152CONFIG_PCCARD=y
153CONFIG_PCMCIA_DEBUG=y
154CONFIG_PCMCIA=y
155CONFIG_PCMCIA_LOAD_CIS=y
156CONFIG_PCMCIA_IOCTL=y
157
158#
159# PC-card bridges
160#
161# CONFIG_I82365 is not set
162# CONFIG_TCIC is not set
163CONFIG_PCMCIA_SA1100=y
137 164
138# 165#
139# Kernel Features 166# Kernel Features
140# 167#
141# CONFIG_SMP is not set 168# CONFIG_PREEMPT is not set
142CONFIG_PREEMPT=y
143# CONFIG_NO_IDLE_HZ is not set 169# CONFIG_NO_IDLE_HZ is not set
170CONFIG_HZ=100
171# CONFIG_AEABI is not set
144CONFIG_ARCH_DISCONTIGMEM_ENABLE=y 172CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
173CONFIG_NODES_SHIFT=2
145CONFIG_SELECT_MEMORY_MODEL=y 174CONFIG_SELECT_MEMORY_MODEL=y
146# CONFIG_FLATMEM_MANUAL is not set 175# CONFIG_FLATMEM_MANUAL is not set
147CONFIG_DISCONTIGMEM_MANUAL=y 176CONFIG_DISCONTIGMEM_MANUAL=y
@@ -150,6 +179,7 @@ CONFIG_DISCONTIGMEM=y
150CONFIG_FLAT_NODE_MEM_MAP=y 179CONFIG_FLAT_NODE_MEM_MAP=y
151CONFIG_NEED_MULTIPLE_NODES=y 180CONFIG_NEED_MULTIPLE_NODES=y
152# CONFIG_SPARSEMEM_STATIC is not set 181# CONFIG_SPARSEMEM_STATIC is not set
182CONFIG_SPLIT_PTLOCK_CPUS=4096
153# CONFIG_LEDS is not set 183# CONFIG_LEDS is not set
154CONFIG_ALIGNMENT_TRAP=y 184CONFIG_ALIGNMENT_TRAP=y
155 185
@@ -158,7 +188,7 @@ CONFIG_ALIGNMENT_TRAP=y
158# 188#
159CONFIG_ZBOOT_ROM_TEXT=0x0 189CONFIG_ZBOOT_ROM_TEXT=0x0
160CONFIG_ZBOOT_ROM_BSS=0x0 190CONFIG_ZBOOT_ROM_BSS=0x0
161CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 debug" 191CONFIG_CMDLINE="noinitrd root=/dev/mtdblock2 rootfstype=jffs2 fbcon=rotate:1"
162# CONFIG_XIP_KERNEL is not set 192# CONFIG_XIP_KERNEL is not set
163 193
164# 194#
@@ -181,14 +211,16 @@ CONFIG_FPE_NWFPE=y
181# Userspace binary formats 211# Userspace binary formats
182# 212#
183CONFIG_BINFMT_ELF=y 213CONFIG_BINFMT_ELF=y
184CONFIG_BINFMT_AOUT=m 214# CONFIG_BINFMT_AOUT is not set
185CONFIG_BINFMT_MISC=m 215# CONFIG_BINFMT_MISC is not set
186# CONFIG_ARTHUR is not set 216# CONFIG_ARTHUR is not set
187 217
188# 218#
189# Power management options 219# Power management options
190# 220#
191CONFIG_PM=y 221CONFIG_PM=y
222CONFIG_PM_LEGACY=y
223# CONFIG_PM_DEBUG is not set
192CONFIG_APM=y 224CONFIG_APM=y
193 225
194# 226#
@@ -199,6 +231,7 @@ CONFIG_NET=y
199# 231#
200# Networking options 232# Networking options
201# 233#
234# CONFIG_NETDEBUG is not set
202CONFIG_PACKET=y 235CONFIG_PACKET=y
203CONFIG_PACKET_MMAP=y 236CONFIG_PACKET_MMAP=y
204CONFIG_UNIX=y 237CONFIG_UNIX=y
@@ -211,16 +244,19 @@ CONFIG_IP_FIB_HASH=y
211# CONFIG_NET_IPIP is not set 244# CONFIG_NET_IPIP is not set
212# CONFIG_NET_IPGRE is not set 245# CONFIG_NET_IPGRE is not set
213# CONFIG_ARPD is not set 246# CONFIG_ARPD is not set
214CONFIG_SYN_COOKIES=y 247# CONFIG_SYN_COOKIES is not set
215# CONFIG_INET_AH is not set 248# CONFIG_INET_AH is not set
216# CONFIG_INET_ESP is not set 249# CONFIG_INET_ESP is not set
217# CONFIG_INET_IPCOMP is not set 250# CONFIG_INET_IPCOMP is not set
251# CONFIG_INET_XFRM_TUNNEL is not set
218# CONFIG_INET_TUNNEL is not set 252# CONFIG_INET_TUNNEL is not set
219CONFIG_INET_DIAG=y 253CONFIG_INET_DIAG=y
220CONFIG_INET_TCP_DIAG=y 254CONFIG_INET_TCP_DIAG=y
221# CONFIG_TCP_CONG_ADVANCED is not set 255# CONFIG_TCP_CONG_ADVANCED is not set
222CONFIG_TCP_CONG_BIC=y 256CONFIG_TCP_CONG_BIC=y
223# CONFIG_IPV6 is not set 257# CONFIG_IPV6 is not set
258# CONFIG_INET6_XFRM_TUNNEL is not set
259# CONFIG_INET6_TUNNEL is not set
224# CONFIG_NETFILTER is not set 260# CONFIG_NETFILTER is not set
225 261
226# 262#
@@ -232,6 +268,11 @@ CONFIG_TCP_CONG_BIC=y
232# SCTP Configuration (EXPERIMENTAL) 268# SCTP Configuration (EXPERIMENTAL)
233# 269#
234# CONFIG_IP_SCTP is not set 270# CONFIG_IP_SCTP is not set
271
272#
273# TIPC Configuration (EXPERIMENTAL)
274#
275# CONFIG_TIPC is not set
235# CONFIG_ATM is not set 276# CONFIG_ATM is not set
236# CONFIG_BRIDGE is not set 277# CONFIG_BRIDGE is not set
237# CONFIG_VLAN_8021Q is not set 278# CONFIG_VLAN_8021Q is not set
@@ -244,8 +285,11 @@ CONFIG_TCP_CONG_BIC=y
244# CONFIG_NET_DIVERT is not set 285# CONFIG_NET_DIVERT is not set
245# CONFIG_ECONET is not set 286# CONFIG_ECONET is not set
246# CONFIG_WAN_ROUTER is not set 287# CONFIG_WAN_ROUTER is not set
288
289#
290# QoS and/or fair queueing
291#
247# CONFIG_NET_SCHED is not set 292# CONFIG_NET_SCHED is not set
248# CONFIG_NET_CLS_ROUTE is not set
249 293
250# 294#
251# Network testing 295# Network testing
@@ -265,10 +309,15 @@ CONFIG_TCP_CONG_BIC=y
265# 309#
266CONFIG_STANDALONE=y 310CONFIG_STANDALONE=y
267CONFIG_PREVENT_FIRMWARE_BUILD=y 311CONFIG_PREVENT_FIRMWARE_BUILD=y
268CONFIG_FW_LOADER=m 312CONFIG_FW_LOADER=y
269# CONFIG_DEBUG_DRIVER is not set 313# CONFIG_DEBUG_DRIVER is not set
270 314
271# 315#
316# Connector - unified userspace <-> kernelspace linker
317#
318# CONFIG_CONNECTOR is not set
319
320#
272# Memory Technology Devices (MTD) 321# Memory Technology Devices (MTD)
273# 322#
274CONFIG_MTD=y 323CONFIG_MTD=y
@@ -287,32 +336,49 @@ CONFIG_MTD_BLOCK=y
287# CONFIG_FTL is not set 336# CONFIG_FTL is not set
288# CONFIG_NFTL is not set 337# CONFIG_NFTL is not set
289# CONFIG_INFTL is not set 338# CONFIG_INFTL is not set
339# CONFIG_RFD_FTL is not set
290 340
291# 341#
292# RAM/ROM/Flash chip drivers 342# RAM/ROM/Flash chip drivers
293# 343#
294# CONFIG_MTD_CFI is not set 344CONFIG_MTD_CFI=y
295# CONFIG_MTD_JEDECPROBE is not set 345CONFIG_MTD_JEDECPROBE=y
296CONFIG_MTD_MAP_BANK_WIDTH_1=y 346CONFIG_MTD_GEN_PROBE=y
297CONFIG_MTD_MAP_BANK_WIDTH_2=y 347CONFIG_MTD_CFI_ADV_OPTIONS=y
348CONFIG_MTD_CFI_NOSWAP=y
349# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
350# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
351CONFIG_MTD_CFI_GEOMETRY=y
352# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
353# CONFIG_MTD_MAP_BANK_WIDTH_2 is not set
298CONFIG_MTD_MAP_BANK_WIDTH_4=y 354CONFIG_MTD_MAP_BANK_WIDTH_4=y
299# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set 355# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
300# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set 356# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
301# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set 357# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
302CONFIG_MTD_CFI_I1=y 358# CONFIG_MTD_CFI_I1 is not set
303CONFIG_MTD_CFI_I2=y 359# CONFIG_MTD_CFI_I2 is not set
304# CONFIG_MTD_CFI_I4 is not set 360CONFIG_MTD_CFI_I4=y
305# CONFIG_MTD_CFI_I8 is not set 361# CONFIG_MTD_CFI_I8 is not set
362# CONFIG_MTD_OTP is not set
363CONFIG_MTD_CFI_INTELEXT=y
364# CONFIG_MTD_CFI_AMDSTD is not set
365# CONFIG_MTD_CFI_STAA is not set
366CONFIG_MTD_CFI_UTIL=y
306# CONFIG_MTD_RAM is not set 367# CONFIG_MTD_RAM is not set
307# CONFIG_MTD_ROM is not set 368# CONFIG_MTD_ROM is not set
308# CONFIG_MTD_ABSENT is not set 369# CONFIG_MTD_ABSENT is not set
309CONFIG_MTD_OBSOLETE_CHIPS=y 370CONFIG_MTD_OBSOLETE_CHIPS=y
310CONFIG_MTD_SHARP=y 371CONFIG_MTD_SHARP=y
372# CONFIG_MTD_XIP is not set
311 373
312# 374#
313# Mapping drivers for chip access 375# Mapping drivers for chip access
314# 376#
315# CONFIG_MTD_COMPLEX_MAPPINGS is not set 377# CONFIG_MTD_COMPLEX_MAPPINGS is not set
378# CONFIG_MTD_PHYSMAP is not set
379# CONFIG_MTD_ARM_INTEGRATOR is not set
380CONFIG_MTD_SA1100=y
381# CONFIG_MTD_IMPA7 is not set
316# CONFIG_MTD_PLATRAM is not set 382# CONFIG_MTD_PLATRAM is not set
317 383
318# 384#
@@ -321,7 +387,6 @@ CONFIG_MTD_SHARP=y
321# CONFIG_MTD_SLRAM is not set 387# CONFIG_MTD_SLRAM is not set
322# CONFIG_MTD_PHRAM is not set 388# CONFIG_MTD_PHRAM is not set
323# CONFIG_MTD_MTDRAM is not set 389# CONFIG_MTD_MTDRAM is not set
324# CONFIG_MTD_BLKMTD is not set
325# CONFIG_MTD_BLOCK2MTD is not set 390# CONFIG_MTD_BLOCK2MTD is not set
326 391
327# 392#
@@ -337,6 +402,11 @@ CONFIG_MTD_SHARP=y
337# CONFIG_MTD_NAND is not set 402# CONFIG_MTD_NAND is not set
338 403
339# 404#
405# OneNAND Flash Device Drivers
406#
407# CONFIG_MTD_ONENAND is not set
408
409#
340# Parallel port support 410# Parallel port support
341# 411#
342# CONFIG_PARPORT is not set 412# CONFIG_PARPORT is not set
@@ -349,7 +419,6 @@ CONFIG_MTD_SHARP=y
349# 419#
350# Block devices 420# Block devices
351# 421#
352# CONFIG_BLK_DEV_XD is not set
353# CONFIG_BLK_DEV_COW_COMMON is not set 422# CONFIG_BLK_DEV_COW_COMMON is not set
354CONFIG_BLK_DEV_LOOP=y 423CONFIG_BLK_DEV_LOOP=y
355# CONFIG_BLK_DEV_CRYPTOLOOP is not set 424# CONFIG_BLK_DEV_CRYPTOLOOP is not set
@@ -359,20 +428,35 @@ CONFIG_BLK_DEV_RAM_COUNT=16
359CONFIG_BLK_DEV_RAM_SIZE=1024 428CONFIG_BLK_DEV_RAM_SIZE=1024
360CONFIG_BLK_DEV_INITRD=y 429CONFIG_BLK_DEV_INITRD=y
361# CONFIG_CDROM_PKTCDVD is not set 430# CONFIG_CDROM_PKTCDVD is not set
431# CONFIG_ATA_OVER_ETH is not set
362 432
363# 433#
364# IO Schedulers 434# ATA/ATAPI/MFM/RLL support
365# 435#
366CONFIG_IOSCHED_NOOP=y 436CONFIG_IDE=y
367CONFIG_IOSCHED_AS=y 437CONFIG_BLK_DEV_IDE=y
368CONFIG_IOSCHED_DEADLINE=y
369CONFIG_IOSCHED_CFQ=y
370CONFIG_ATA_OVER_ETH=m
371 438
372# 439#
373# ATA/ATAPI/MFM/RLL support 440# Please see Documentation/ide.txt for help/info on IDE drives
441#
442# CONFIG_BLK_DEV_IDE_SATA is not set
443CONFIG_BLK_DEV_IDEDISK=y
444CONFIG_IDEDISK_MULTI_MODE=y
445CONFIG_BLK_DEV_IDECS=y
446# CONFIG_BLK_DEV_IDECD is not set
447# CONFIG_BLK_DEV_IDETAPE is not set
448# CONFIG_BLK_DEV_IDEFLOPPY is not set
449# CONFIG_IDE_TASK_IOCTL is not set
450
451#
452# IDE chipset support/bugfixes
374# 453#
375# CONFIG_IDE is not set 454CONFIG_IDE_GENERIC=y
455# CONFIG_IDE_ARM is not set
456# CONFIG_IDE_CHIPSETS is not set
457# CONFIG_BLK_DEV_IDEDMA is not set
458# CONFIG_IDEDMA_AUTO is not set
459# CONFIG_BLK_DEV_HD is not set
376 460
377# 461#
378# SCSI device support 462# SCSI device support
@@ -402,6 +486,39 @@ CONFIG_ATA_OVER_ETH=m
402# Network device support 486# Network device support
403# 487#
404# CONFIG_NETDEVICES is not set 488# CONFIG_NETDEVICES is not set
489# CONFIG_DUMMY is not set
490# CONFIG_BONDING is not set
491# CONFIG_EQUALIZER is not set
492# CONFIG_TUN is not set
493
494#
495# PHY device support
496#
497
498#
499# Ethernet (10 or 100Mbit)
500#
501# CONFIG_NET_ETHERNET is not set
502
503#
504# Ethernet (1000 Mbit)
505#
506
507#
508# Ethernet (10000 Mbit)
509#
510CONFIG_PPP=y
511# CONFIG_PPP_MULTILINK is not set
512# CONFIG_PPP_FILTER is not set
513CONFIG_PPP_ASYNC=y
514# CONFIG_PPP_SYNC_TTY is not set
515# CONFIG_PPP_DEFLATE is not set
516# CONFIG_PPP_BSDCOMP is not set
517# CONFIG_PPP_MPPE is not set
518# CONFIG_PPPOE is not set
519# CONFIG_SLIP is not set
520# CONFIG_SHAPER is not set
521# CONFIG_NETCONSOLE is not set
405# CONFIG_NETPOLL is not set 522# CONFIG_NETPOLL is not set
406# CONFIG_NET_POLL_CONTROLLER is not set 523# CONFIG_NET_POLL_CONTROLLER is not set
407 524
@@ -424,7 +541,7 @@ CONFIG_INPUT_TSDEV=y
424CONFIG_INPUT_TSDEV_SCREEN_X=240 541CONFIG_INPUT_TSDEV_SCREEN_X=240
425CONFIG_INPUT_TSDEV_SCREEN_Y=320 542CONFIG_INPUT_TSDEV_SCREEN_Y=320
426CONFIG_INPUT_EVDEV=y 543CONFIG_INPUT_EVDEV=y
427CONFIG_INPUT_EVBUG=y 544# CONFIG_INPUT_EVBUG is not set
428 545
429# 546#
430# Input Device Drivers 547# Input Device Drivers
@@ -438,7 +555,11 @@ CONFIG_KEYBOARD_LOCOMO=y
438# CONFIG_KEYBOARD_NEWTON is not set 555# CONFIG_KEYBOARD_NEWTON is not set
439# CONFIG_INPUT_MOUSE is not set 556# CONFIG_INPUT_MOUSE is not set
440# CONFIG_INPUT_JOYSTICK is not set 557# CONFIG_INPUT_JOYSTICK is not set
441# CONFIG_INPUT_TOUCHSCREEN is not set 558CONFIG_INPUT_TOUCHSCREEN=y
559# CONFIG_TOUCHSCREEN_GUNZE is not set
560# CONFIG_TOUCHSCREEN_ELO is not set
561# CONFIG_TOUCHSCREEN_MTOUCH is not set
562# CONFIG_TOUCHSCREEN_MK712 is not set
442# CONFIG_INPUT_MISC is not set 563# CONFIG_INPUT_MISC is not set
443 564
444# 565#
@@ -461,7 +582,16 @@ CONFIG_HW_CONSOLE=y
461# 582#
462# Serial drivers 583# Serial drivers
463# 584#
464# CONFIG_SERIAL_8250 is not set 585CONFIG_SERIAL_8250=y
586# CONFIG_SERIAL_8250_CONSOLE is not set
587CONFIG_SERIAL_8250_CS=y
588CONFIG_SERIAL_8250_NR_UARTS=4
589CONFIG_SERIAL_8250_RUNTIME_UARTS=4
590CONFIG_SERIAL_8250_EXTENDED=y
591# CONFIG_SERIAL_8250_MANY_PORTS is not set
592# CONFIG_SERIAL_8250_SHARE_IRQ is not set
593# CONFIG_SERIAL_8250_DETECT_IRQ is not set
594# CONFIG_SERIAL_8250_RSA is not set
465 595
466# 596#
467# Non-8250 serial port support 597# Non-8250 serial port support
@@ -483,94 +613,48 @@ CONFIG_UNIX98_PTYS=y
483# 613#
484# CONFIG_WATCHDOG is not set 614# CONFIG_WATCHDOG is not set
485# CONFIG_NVRAM is not set 615# CONFIG_NVRAM is not set
486# CONFIG_RTC is not set
487# CONFIG_DTLK is not set 616# CONFIG_DTLK is not set
488# CONFIG_R3964 is not set 617# CONFIG_R3964 is not set
489 618
490# 619#
491# Ftape, the floppy tape device driver 620# Ftape, the floppy tape device driver
492# 621#
493# CONFIG_RAW_DRIVER is not set
494 622
495# 623#
496# TPM devices 624# PCMCIA character devices
497# 625#
626# CONFIG_SYNCLINK_CS is not set
627# CONFIG_CARDMAN_4000 is not set
628# CONFIG_CARDMAN_4040 is not set
629# CONFIG_RAW_DRIVER is not set
498 630
499# 631#
500# I2C support 632# TPM devices
501# 633#
502CONFIG_I2C=m 634# CONFIG_TCG_TPM is not set
503# CONFIG_I2C_CHARDEV is not set 635# CONFIG_TELCLOCK is not set
504 636
505# 637#
506# I2C Algorithms 638# I2C support
507# 639#
508CONFIG_I2C_ALGOBIT=m 640# CONFIG_I2C is not set
509# CONFIG_I2C_ALGOPCF is not set
510# CONFIG_I2C_ALGOPCA is not set
511 641
512# 642#
513# I2C Hardware Bus support 643# SPI support
514# 644#
515# CONFIG_I2C_ELEKTOR is not set 645# CONFIG_SPI is not set
516# CONFIG_I2C_PARPORT_LIGHT is not set 646# CONFIG_SPI_MASTER is not set
517# CONFIG_I2C_STUB is not set
518# CONFIG_I2C_PCA_ISA is not set
519 647
520# 648#
521# Miscellaneous I2C Chip support 649# Dallas's 1-wire bus
522# 650#
523# CONFIG_SENSORS_DS1337 is not set 651# CONFIG_W1 is not set
524# CONFIG_SENSORS_DS1374 is not set
525# CONFIG_SENSORS_EEPROM is not set
526# CONFIG_SENSORS_PCF8574 is not set
527# CONFIG_SENSORS_PCA9539 is not set
528# CONFIG_SENSORS_PCF8591 is not set
529# CONFIG_SENSORS_RTC8564 is not set
530# CONFIG_SENSORS_MAX6875 is not set
531# CONFIG_I2C_DEBUG_CORE is not set
532# CONFIG_I2C_DEBUG_ALGO is not set
533# CONFIG_I2C_DEBUG_BUS is not set
534# CONFIG_I2C_DEBUG_CHIP is not set
535 652
536# 653#
537# Hardware Monitoring support 654# Hardware Monitoring support
538# 655#
539CONFIG_HWMON=y 656# CONFIG_HWMON is not set
540# CONFIG_HWMON_VID is not set 657# CONFIG_HWMON_VID is not set
541# CONFIG_SENSORS_ADM1021 is not set
542# CONFIG_SENSORS_ADM1025 is not set
543# CONFIG_SENSORS_ADM1026 is not set
544# CONFIG_SENSORS_ADM1031 is not set
545# CONFIG_SENSORS_ADM9240 is not set
546# CONFIG_SENSORS_ASB100 is not set
547# CONFIG_SENSORS_ATXP1 is not set
548# CONFIG_SENSORS_DS1621 is not set
549# CONFIG_SENSORS_FSCHER is not set
550# CONFIG_SENSORS_FSCPOS is not set
551# CONFIG_SENSORS_GL518SM is not set
552# CONFIG_SENSORS_GL520SM is not set
553# CONFIG_SENSORS_IT87 is not set
554# CONFIG_SENSORS_LM63 is not set
555# CONFIG_SENSORS_LM75 is not set
556# CONFIG_SENSORS_LM77 is not set
557# CONFIG_SENSORS_LM78 is not set
558# CONFIG_SENSORS_LM80 is not set
559# CONFIG_SENSORS_LM83 is not set
560# CONFIG_SENSORS_LM85 is not set
561# CONFIG_SENSORS_LM87 is not set
562# CONFIG_SENSORS_LM90 is not set
563# CONFIG_SENSORS_LM92 is not set
564# CONFIG_SENSORS_MAX1619 is not set
565# CONFIG_SENSORS_PC87360 is not set
566# CONFIG_SENSORS_SMSC47M1 is not set
567# CONFIG_SENSORS_SMSC47B397 is not set
568# CONFIG_SENSORS_W83781D is not set
569# CONFIG_SENSORS_W83792D is not set
570# CONFIG_SENSORS_W83L785TS is not set
571# CONFIG_SENSORS_W83627HF is not set
572# CONFIG_SENSORS_W83627EHF is not set
573# CONFIG_HWMON_DEBUG_CHIP is not set
574 658
575# 659#
576# Misc devices 660# Misc devices
@@ -579,42 +663,33 @@ CONFIG_HWMON=y
579# 663#
580# Multimedia Capabilities Port drivers 664# Multimedia Capabilities Port drivers
581# 665#
582# CONFIG_MCP_SA11X0 is not set 666CONFIG_MCP=y
667CONFIG_MCP_SA11X0=y
668CONFIG_MCP_UCB1200=y
669CONFIG_MCP_UCB1200_TS=y
583 670
584# 671#
585# Multimedia devices 672# LED devices
586# 673#
587CONFIG_VIDEO_DEV=m 674CONFIG_NEW_LEDS=y
675CONFIG_LEDS_CLASS=y
588 676
589# 677#
590# Video For Linux 678# LED drivers
591# 679#
680CONFIG_LEDS_LOCOMO=y
592 681
593# 682#
594# Video Adapters 683# LED Triggers
595# 684#
596# CONFIG_VIDEO_PMS is not set 685CONFIG_LEDS_TRIGGERS=y
597# CONFIG_VIDEO_CPIA is not set 686CONFIG_LEDS_TRIGGER_TIMER=y
598# CONFIG_VIDEO_SAA5246A is not set 687CONFIG_LEDS_TRIGGER_IDE_DISK=y
599# CONFIG_VIDEO_SAA5249 is not set
600# CONFIG_TUNER_3036 is not set
601# CONFIG_VIDEO_OVCAMCHIP is not set
602 688
603# 689#
604# Radio Adapters 690# Multimedia devices
605# 691#
606# CONFIG_RADIO_CADET is not set 692# CONFIG_VIDEO_DEV is not set
607# CONFIG_RADIO_RTRACK is not set
608# CONFIG_RADIO_RTRACK2 is not set
609# CONFIG_RADIO_AZTECH is not set
610# CONFIG_RADIO_GEMTEK is not set
611# CONFIG_RADIO_MAESTRO is not set
612# CONFIG_RADIO_SF16FMI is not set
613# CONFIG_RADIO_SF16FMR2 is not set
614# CONFIG_RADIO_TERRATEC is not set
615# CONFIG_RADIO_TRUST is not set
616# CONFIG_RADIO_TYPHOON is not set
617# CONFIG_RADIO_ZOLTRIX is not set
618 693
619# 694#
620# Digital Video Broadcasting Devices 695# Digital Video Broadcasting Devices
@@ -628,8 +703,8 @@ CONFIG_FB=y
628CONFIG_FB_CFB_FILLRECT=y 703CONFIG_FB_CFB_FILLRECT=y
629CONFIG_FB_CFB_COPYAREA=y 704CONFIG_FB_CFB_COPYAREA=y
630CONFIG_FB_CFB_IMAGEBLIT=y 705CONFIG_FB_CFB_IMAGEBLIT=y
631CONFIG_FB_SOFT_CURSOR=y
632# CONFIG_FB_MACMODES is not set 706# CONFIG_FB_MACMODES is not set
707# CONFIG_FB_FIRMWARE_EDID is not set
633CONFIG_FB_MODE_HELPERS=y 708CONFIG_FB_MODE_HELPERS=y
634# CONFIG_FB_TILEBLITTING is not set 709# CONFIG_FB_TILEBLITTING is not set
635CONFIG_FB_SA1100=y 710CONFIG_FB_SA1100=y
@@ -643,14 +718,15 @@ CONFIG_FB_SA1100=y
643# CONFIG_MDA_CONSOLE is not set 718# CONFIG_MDA_CONSOLE is not set
644CONFIG_DUMMY_CONSOLE=y 719CONFIG_DUMMY_CONSOLE=y
645CONFIG_FRAMEBUFFER_CONSOLE=y 720CONFIG_FRAMEBUFFER_CONSOLE=y
721CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
646CONFIG_FONTS=y 722CONFIG_FONTS=y
647CONFIG_FONT_8x8=y 723# CONFIG_FONT_8x8 is not set
648# CONFIG_FONT_8x16 is not set 724# CONFIG_FONT_8x16 is not set
649# CONFIG_FONT_6x11 is not set 725# CONFIG_FONT_6x11 is not set
650# CONFIG_FONT_7x14 is not set 726# CONFIG_FONT_7x14 is not set
651# CONFIG_FONT_PEARL_8x8 is not set 727# CONFIG_FONT_PEARL_8x8 is not set
652# CONFIG_FONT_ACORN_8x8 is not set 728# CONFIG_FONT_ACORN_8x8 is not set
653# CONFIG_FONT_MINI_4x6 is not set 729CONFIG_FONT_MINI_4x6=y
654# CONFIG_FONT_SUN8x16 is not set 730# CONFIG_FONT_SUN8x16 is not set
655# CONFIG_FONT_SUN12x22 is not set 731# CONFIG_FONT_SUN12x22 is not set
656# CONFIG_FONT_10x18 is not set 732# CONFIG_FONT_10x18 is not set
@@ -659,7 +735,11 @@ CONFIG_FONT_8x8=y
659# Logo configuration 735# Logo configuration
660# 736#
661# CONFIG_LOGO is not set 737# CONFIG_LOGO is not set
662# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 738CONFIG_BACKLIGHT_LCD_SUPPORT=y
739CONFIG_BACKLIGHT_CLASS_DEVICE=y
740CONFIG_BACKLIGHT_DEVICE=y
741CONFIG_LCD_CLASS_DEVICE=y
742CONFIG_LCD_DEVICE=y
663 743
664# 744#
665# Sound 745# Sound
@@ -671,20 +751,17 @@ CONFIG_FONT_8x8=y
671# 751#
672CONFIG_USB_ARCH_HAS_HCD=y 752CONFIG_USB_ARCH_HAS_HCD=y
673# CONFIG_USB_ARCH_HAS_OHCI is not set 753# CONFIG_USB_ARCH_HAS_OHCI is not set
754# CONFIG_USB_ARCH_HAS_EHCI is not set
674# CONFIG_USB is not set 755# CONFIG_USB is not set
675 756
676# 757#
758# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
759#
760
761#
677# USB Gadget Support 762# USB Gadget Support
678# 763#
679CONFIG_USB_GADGET=y 764# CONFIG_USB_GADGET is not set
680# CONFIG_USB_GADGET_DEBUG_FILES is not set
681# CONFIG_USB_GADGET_NET2280 is not set
682# CONFIG_USB_GADGET_PXA2XX is not set
683# CONFIG_USB_GADGET_GOKU is not set
684# CONFIG_USB_GADGET_LH7A40X is not set
685# CONFIG_USB_GADGET_OMAP is not set
686# CONFIG_USB_GADGET_DUMMY_HCD is not set
687# CONFIG_USB_GADGET_DUALSPEED is not set
688 765
689# 766#
690# MMC/SD Card support 767# MMC/SD Card support
@@ -692,23 +769,24 @@ CONFIG_USB_GADGET=y
692# CONFIG_MMC is not set 769# CONFIG_MMC is not set
693 770
694# 771#
772# Real Time Clock
773#
774CONFIG_RTC_LIB=y
775# CONFIG_RTC_CLASS is not set
776
777#
695# File systems 778# File systems
696# 779#
697CONFIG_EXT2_FS=y 780# CONFIG_EXT2_FS is not set
698CONFIG_EXT2_FS_XATTR=y
699CONFIG_EXT2_FS_POSIX_ACL=y
700CONFIG_EXT2_FS_SECURITY=y
701# CONFIG_EXT2_FS_XIP is not set
702# CONFIG_EXT3_FS is not set 781# CONFIG_EXT3_FS is not set
703# CONFIG_JBD is not set
704CONFIG_FS_MBCACHE=y
705# CONFIG_REISERFS_FS is not set 782# CONFIG_REISERFS_FS is not set
706# CONFIG_JFS_FS is not set 783# CONFIG_JFS_FS is not set
707CONFIG_FS_POSIX_ACL=y 784# CONFIG_FS_POSIX_ACL is not set
708# CONFIG_XFS_FS is not set 785# CONFIG_XFS_FS is not set
786# CONFIG_OCFS2_FS is not set
709# CONFIG_MINIX_FS is not set 787# CONFIG_MINIX_FS is not set
710CONFIG_ROMFS_FS=y 788CONFIG_ROMFS_FS=y
711CONFIG_INOTIFY=y 789# CONFIG_INOTIFY is not set
712# CONFIG_QUOTA is not set 790# CONFIG_QUOTA is not set
713# CONFIG_DNOTIFY is not set 791# CONFIG_DNOTIFY is not set
714# CONFIG_AUTOFS_FS is not set 792# CONFIG_AUTOFS_FS is not set
@@ -725,7 +803,7 @@ CONFIG_INOTIFY=y
725# DOS/FAT/NT Filesystems 803# DOS/FAT/NT Filesystems
726# 804#
727CONFIG_FAT_FS=y 805CONFIG_FAT_FS=y
728CONFIG_MSDOS_FS=y 806# CONFIG_MSDOS_FS is not set
729CONFIG_VFAT_FS=y 807CONFIG_VFAT_FS=y
730CONFIG_FAT_DEFAULT_CODEPAGE=437 808CONFIG_FAT_DEFAULT_CODEPAGE=437
731CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" 809CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
@@ -739,7 +817,7 @@ CONFIG_SYSFS=y
739CONFIG_TMPFS=y 817CONFIG_TMPFS=y
740# CONFIG_HUGETLB_PAGE is not set 818# CONFIG_HUGETLB_PAGE is not set
741CONFIG_RAMFS=y 819CONFIG_RAMFS=y
742# CONFIG_RELAYFS_FS is not set 820# CONFIG_CONFIGFS_FS is not set
743 821
744# 822#
745# Miscellaneous filesystems 823# Miscellaneous filesystems
@@ -755,11 +833,12 @@ CONFIG_RAMFS=y
755CONFIG_JFFS2_FS=y 833CONFIG_JFFS2_FS=y
756CONFIG_JFFS2_FS_DEBUG=0 834CONFIG_JFFS2_FS_DEBUG=0
757CONFIG_JFFS2_FS_WRITEBUFFER=y 835CONFIG_JFFS2_FS_WRITEBUFFER=y
836# CONFIG_JFFS2_SUMMARY is not set
758# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set 837# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
759CONFIG_JFFS2_ZLIB=y 838CONFIG_JFFS2_ZLIB=y
760CONFIG_JFFS2_RTIME=y 839CONFIG_JFFS2_RTIME=y
761# CONFIG_JFFS2_RUBIN is not set 840# CONFIG_JFFS2_RUBIN is not set
762CONFIG_CRAMFS=y 841# CONFIG_CRAMFS is not set
763# CONFIG_VXFS_FS is not set 842# CONFIG_VXFS_FS is not set
764# CONFIG_HPFS_FS is not set 843# CONFIG_HPFS_FS is not set
765# CONFIG_QNX4FS_FS is not set 844# CONFIG_QNX4FS_FS is not set
@@ -789,7 +868,7 @@ CONFIG_MSDOS_PARTITION=y
789# 868#
790CONFIG_NLS=y 869CONFIG_NLS=y
791CONFIG_NLS_DEFAULT="cp437" 870CONFIG_NLS_DEFAULT="cp437"
792CONFIG_NLS_CODEPAGE_437=m 871CONFIG_NLS_CODEPAGE_437=y
793# CONFIG_NLS_CODEPAGE_737 is not set 872# CONFIG_NLS_CODEPAGE_737 is not set
794# CONFIG_NLS_CODEPAGE_775 is not set 873# CONFIG_NLS_CODEPAGE_775 is not set
795# CONFIG_NLS_CODEPAGE_850 is not set 874# CONFIG_NLS_CODEPAGE_850 is not set
@@ -813,7 +892,7 @@ CONFIG_NLS_CODEPAGE_437=m
813# CONFIG_NLS_CODEPAGE_1250 is not set 892# CONFIG_NLS_CODEPAGE_1250 is not set
814# CONFIG_NLS_CODEPAGE_1251 is not set 893# CONFIG_NLS_CODEPAGE_1251 is not set
815# CONFIG_NLS_ASCII is not set 894# CONFIG_NLS_ASCII is not set
816CONFIG_NLS_ISO8859_1=m 895CONFIG_NLS_ISO8859_1=y
817# CONFIG_NLS_ISO8859_2 is not set 896# CONFIG_NLS_ISO8859_2 is not set
818# CONFIG_NLS_ISO8859_3 is not set 897# CONFIG_NLS_ISO8859_3 is not set
819# CONFIG_NLS_ISO8859_4 is not set 898# CONFIG_NLS_ISO8859_4 is not set
@@ -826,7 +905,7 @@ CONFIG_NLS_ISO8859_1=m
826# CONFIG_NLS_ISO8859_15 is not set 905# CONFIG_NLS_ISO8859_15 is not set
827# CONFIG_NLS_KOI8_R is not set 906# CONFIG_NLS_KOI8_R is not set
828# CONFIG_NLS_KOI8_U is not set 907# CONFIG_NLS_KOI8_U is not set
829CONFIG_NLS_UTF8=m 908# CONFIG_NLS_UTF8 is not set
830 909
831# 910#
832# Profiling support 911# Profiling support
@@ -837,20 +916,23 @@ CONFIG_NLS_UTF8=m
837# Kernel hacking 916# Kernel hacking
838# 917#
839# CONFIG_PRINTK_TIME is not set 918# CONFIG_PRINTK_TIME is not set
840CONFIG_DEBUG_KERNEL=y
841CONFIG_MAGIC_SYSRQ=y 919CONFIG_MAGIC_SYSRQ=y
920CONFIG_DEBUG_KERNEL=y
842CONFIG_LOG_BUF_SHIFT=14 921CONFIG_LOG_BUF_SHIFT=14
843CONFIG_DETECT_SOFTLOCKUP=y 922# CONFIG_DETECT_SOFTLOCKUP is not set
844# CONFIG_SCHEDSTATS is not set 923# CONFIG_SCHEDSTATS is not set
845# CONFIG_DEBUG_SLAB is not set 924CONFIG_DEBUG_MUTEXES=y
846CONFIG_DEBUG_PREEMPT=y
847# CONFIG_DEBUG_SPINLOCK is not set 925# CONFIG_DEBUG_SPINLOCK is not set
848# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 926# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
849# CONFIG_DEBUG_KOBJECT is not set 927# CONFIG_DEBUG_KOBJECT is not set
850# CONFIG_DEBUG_BUGVERBOSE is not set 928# CONFIG_DEBUG_BUGVERBOSE is not set
851# CONFIG_DEBUG_INFO is not set 929# CONFIG_DEBUG_INFO is not set
852# CONFIG_DEBUG_FS is not set 930# CONFIG_DEBUG_FS is not set
931# CONFIG_DEBUG_VM is not set
853CONFIG_FRAME_POINTER=y 932CONFIG_FRAME_POINTER=y
933# CONFIG_UNWIND_INFO is not set
934CONFIG_FORCED_INLINING=y
935# CONFIG_RCU_TORTURE_TEST is not set
854# CONFIG_DEBUG_USER is not set 936# CONFIG_DEBUG_USER is not set
855# CONFIG_DEBUG_WAITQ is not set 937# CONFIG_DEBUG_WAITQ is not set
856CONFIG_DEBUG_ERRORS=y 938CONFIG_DEBUG_ERRORS=y
@@ -874,7 +956,7 @@ CONFIG_DEBUG_ERRORS=y
874# 956#
875# Library routines 957# Library routines
876# 958#
877# CONFIG_CRC_CCITT is not set 959CONFIG_CRC_CCITT=y
878# CONFIG_CRC16 is not set 960# CONFIG_CRC16 is not set
879CONFIG_CRC32=y 961CONFIG_CRC32=y
880# CONFIG_LIBCRC32C is not set 962# CONFIG_LIBCRC32C is not set
diff --git a/arch/arm/configs/versatile_defconfig b/arch/arm/configs/versatile_defconfig
index 2687a225aa6a..96b7a7762426 100644
--- a/arch/arm/configs/versatile_defconfig
+++ b/arch/arm/configs/versatile_defconfig
@@ -1,50 +1,55 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.12-rc1-bk2 3# Linux kernel version: 2.6.17-rc3
4# Mon Mar 28 00:20:50 2005 4# Mon May 8 20:15:57 2006
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_MMU=y 7CONFIG_MMU=y
8CONFIG_UID16=y
9CONFIG_RWSEM_GENERIC_SPINLOCK=y 8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y 10CONFIG_GENERIC_CALIBRATE_DELAY=y
11CONFIG_GENERIC_IOMAP=y 11CONFIG_VECTORS_BASE=0xffff0000
12 12
13# 13#
14# Code maturity level options 14# Code maturity level options
15# 15#
16CONFIG_EXPERIMENTAL=y 16CONFIG_EXPERIMENTAL=y
17CONFIG_CLEAN_COMPILE=y
18CONFIG_BROKEN_ON_SMP=y 17CONFIG_BROKEN_ON_SMP=y
18CONFIG_INIT_ENV_ARG_LIMIT=32
19 19
20# 20#
21# General setup 21# General setup
22# 22#
23CONFIG_LOCALVERSION="" 23CONFIG_LOCALVERSION=""
24# CONFIG_LOCALVERSION_AUTO is not set
24CONFIG_SWAP=y 25CONFIG_SWAP=y
25CONFIG_SYSVIPC=y 26CONFIG_SYSVIPC=y
26# CONFIG_POSIX_MQUEUE is not set 27# CONFIG_POSIX_MQUEUE is not set
27# CONFIG_BSD_PROCESS_ACCT is not set 28# CONFIG_BSD_PROCESS_ACCT is not set
28CONFIG_SYSCTL=y 29CONFIG_SYSCTL=y
29# CONFIG_AUDIT is not set 30# CONFIG_AUDIT is not set
30CONFIG_HOTPLUG=y
31CONFIG_KOBJECT_UEVENT=y
32# CONFIG_IKCONFIG is not set 31# CONFIG_IKCONFIG is not set
32# CONFIG_RELAY is not set
33CONFIG_INITRAMFS_SOURCE=""
34CONFIG_UID16=y
35CONFIG_CC_OPTIMIZE_FOR_SIZE=y
33# CONFIG_EMBEDDED is not set 36# CONFIG_EMBEDDED is not set
34CONFIG_KALLSYMS=y 37CONFIG_KALLSYMS=y
35# CONFIG_KALLSYMS_ALL is not set 38# CONFIG_KALLSYMS_ALL is not set
36# CONFIG_KALLSYMS_EXTRA_PASS is not set 39# CONFIG_KALLSYMS_EXTRA_PASS is not set
40CONFIG_HOTPLUG=y
41CONFIG_PRINTK=y
42CONFIG_BUG=y
43CONFIG_ELF_CORE=y
37CONFIG_BASE_FULL=y 44CONFIG_BASE_FULL=y
38CONFIG_FUTEX=y 45CONFIG_FUTEX=y
39CONFIG_EPOLL=y 46CONFIG_EPOLL=y
40CONFIG_CC_OPTIMIZE_FOR_SIZE=y
41CONFIG_SHMEM=y 47CONFIG_SHMEM=y
42CONFIG_CC_ALIGN_FUNCTIONS=0 48CONFIG_SLAB=y
43CONFIG_CC_ALIGN_LABELS=0
44CONFIG_CC_ALIGN_LOOPS=0
45CONFIG_CC_ALIGN_JUMPS=0
46# CONFIG_TINY_SHMEM is not set 49# CONFIG_TINY_SHMEM is not set
47CONFIG_BASE_SMALL=0 50CONFIG_BASE_SMALL=0
51# CONFIG_SLOB is not set
52CONFIG_OBSOLETE_INTERMODULE=y
48 53
49# 54#
50# Loadable module support 55# Loadable module support
@@ -52,23 +57,42 @@ CONFIG_BASE_SMALL=0
52CONFIG_MODULES=y 57CONFIG_MODULES=y
53CONFIG_MODULE_UNLOAD=y 58CONFIG_MODULE_UNLOAD=y
54# CONFIG_MODULE_FORCE_UNLOAD is not set 59# CONFIG_MODULE_FORCE_UNLOAD is not set
55CONFIG_OBSOLETE_MODPARM=y
56# CONFIG_MODVERSIONS is not set 60# CONFIG_MODVERSIONS is not set
57# CONFIG_MODULE_SRCVERSION_ALL is not set 61# CONFIG_MODULE_SRCVERSION_ALL is not set
58CONFIG_KMOD=y 62CONFIG_KMOD=y
59 63
60# 64#
65# Block layer
66#
67# CONFIG_BLK_DEV_IO_TRACE is not set
68
69#
70# IO Schedulers
71#
72CONFIG_IOSCHED_NOOP=y
73CONFIG_IOSCHED_AS=y
74CONFIG_IOSCHED_DEADLINE=y
75CONFIG_IOSCHED_CFQ=y
76CONFIG_DEFAULT_AS=y
77# CONFIG_DEFAULT_DEADLINE is not set
78# CONFIG_DEFAULT_CFQ is not set
79# CONFIG_DEFAULT_NOOP is not set
80CONFIG_DEFAULT_IOSCHED="anticipatory"
81
82#
61# System Type 83# System Type
62# 84#
63# CONFIG_ARCH_CLPS7500 is not set 85# CONFIG_ARCH_CLPS7500 is not set
64# CONFIG_ARCH_CLPS711X is not set 86# CONFIG_ARCH_CLPS711X is not set
65# CONFIG_ARCH_CO285 is not set 87# CONFIG_ARCH_CO285 is not set
66# CONFIG_ARCH_EBSA110 is not set 88# CONFIG_ARCH_EBSA110 is not set
89# CONFIG_ARCH_EP93XX is not set
67# CONFIG_ARCH_FOOTBRIDGE is not set 90# CONFIG_ARCH_FOOTBRIDGE is not set
68# CONFIG_ARCH_INTEGRATOR is not set 91# CONFIG_ARCH_INTEGRATOR is not set
69# CONFIG_ARCH_IOP3XX is not set 92# CONFIG_ARCH_IOP3XX is not set
70# CONFIG_ARCH_IXP4XX is not set 93# CONFIG_ARCH_IXP4XX is not set
71# CONFIG_ARCH_IXP2000 is not set 94# CONFIG_ARCH_IXP2000 is not set
95# CONFIG_ARCH_IXP23XX is not set
72# CONFIG_ARCH_L7200 is not set 96# CONFIG_ARCH_L7200 is not set
73# CONFIG_ARCH_PXA is not set 97# CONFIG_ARCH_PXA is not set
74# CONFIG_ARCH_RPC is not set 98# CONFIG_ARCH_RPC is not set
@@ -78,14 +102,17 @@ CONFIG_KMOD=y
78# CONFIG_ARCH_LH7A40X is not set 102# CONFIG_ARCH_LH7A40X is not set
79# CONFIG_ARCH_OMAP is not set 103# CONFIG_ARCH_OMAP is not set
80CONFIG_ARCH_VERSATILE=y 104CONFIG_ARCH_VERSATILE=y
105# CONFIG_ARCH_REALVIEW is not set
81# CONFIG_ARCH_IMX is not set 106# CONFIG_ARCH_IMX is not set
82# CONFIG_ARCH_H720X is not set 107# CONFIG_ARCH_H720X is not set
108# CONFIG_ARCH_AAEC2000 is not set
109# CONFIG_ARCH_AT91RM9200 is not set
83 110
84# 111#
85# Versatile platform type 112# Versatile platform type
86# 113#
87CONFIG_ARCH_VERSATILE_PB=y 114CONFIG_ARCH_VERSATILE_PB=y
88# CONFIG_MACH_VERSATILE_AB is not set 115CONFIG_MACH_VERSATILE_AB=y
89 116
90# 117#
91# Processor Type 118# Processor Type
@@ -106,12 +133,14 @@ CONFIG_ARM_THUMB=y
106# CONFIG_CPU_DCACHE_DISABLE is not set 133# CONFIG_CPU_DCACHE_DISABLE is not set
107# CONFIG_CPU_DCACHE_WRITETHROUGH is not set 134# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
108# CONFIG_CPU_CACHE_ROUND_ROBIN is not set 135# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
136CONFIG_ARM_VIC=y
109CONFIG_ICST307=y 137CONFIG_ICST307=y
110 138
111# 139#
112# Bus support 140# Bus support
113# 141#
114CONFIG_ARM_AMBA=y 142CONFIG_ARM_AMBA=y
143# CONFIG_PCI is not set
115 144
116# 145#
117# PCCARD (PCMCIA/CardBus) support 146# PCCARD (PCMCIA/CardBus) support
@@ -122,6 +151,18 @@ CONFIG_ARM_AMBA=y
122# Kernel Features 151# Kernel Features
123# 152#
124# CONFIG_PREEMPT is not set 153# CONFIG_PREEMPT is not set
154# CONFIG_NO_IDLE_HZ is not set
155CONFIG_HZ=100
156# CONFIG_AEABI is not set
157# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
158CONFIG_SELECT_MEMORY_MODEL=y
159CONFIG_FLATMEM_MANUAL=y
160# CONFIG_DISCONTIGMEM_MANUAL is not set
161# CONFIG_SPARSEMEM_MANUAL is not set
162CONFIG_FLATMEM=y
163CONFIG_FLAT_NODE_MEM_MAP=y
164# CONFIG_SPARSEMEM_STATIC is not set
165CONFIG_SPLIT_PTLOCK_CPUS=4096
125CONFIG_LEDS=y 166CONFIG_LEDS=y
126CONFIG_LEDS_TIMER=y 167CONFIG_LEDS_TIMER=y
127CONFIG_LEDS_CPU=y 168CONFIG_LEDS_CPU=y
@@ -145,7 +186,7 @@ CONFIG_CMDLINE="root=1f03 mem=32M"
145CONFIG_FPE_NWFPE=y 186CONFIG_FPE_NWFPE=y
146# CONFIG_FPE_NWFPE_XP is not set 187# CONFIG_FPE_NWFPE_XP is not set
147# CONFIG_FPE_FASTFPE is not set 188# CONFIG_FPE_FASTFPE is not set
148# CONFIG_VFP is not set 189CONFIG_VFP=y
149 190
150# 191#
151# Userspace binary formats 192# Userspace binary formats
@@ -159,9 +200,92 @@ CONFIG_BINFMT_ELF=y
159# Power management options 200# Power management options
160# 201#
161CONFIG_PM=y 202CONFIG_PM=y
203CONFIG_PM_LEGACY=y
204# CONFIG_PM_DEBUG is not set
162# CONFIG_APM is not set 205# CONFIG_APM is not set
163 206
164# 207#
208# Networking
209#
210CONFIG_NET=y
211
212#
213# Networking options
214#
215# CONFIG_NETDEBUG is not set
216CONFIG_PACKET=y
217CONFIG_PACKET_MMAP=y
218CONFIG_UNIX=y
219# CONFIG_NET_KEY is not set
220CONFIG_INET=y
221CONFIG_IP_MULTICAST=y
222# CONFIG_IP_ADVANCED_ROUTER is not set
223CONFIG_IP_FIB_HASH=y
224CONFIG_IP_PNP=y
225# CONFIG_IP_PNP_DHCP is not set
226CONFIG_IP_PNP_BOOTP=y
227# CONFIG_IP_PNP_RARP is not set
228# CONFIG_NET_IPIP is not set
229# CONFIG_NET_IPGRE is not set
230# CONFIG_IP_MROUTE is not set
231# CONFIG_ARPD is not set
232# CONFIG_SYN_COOKIES is not set
233# CONFIG_INET_AH is not set
234# CONFIG_INET_ESP is not set
235# CONFIG_INET_IPCOMP is not set
236# CONFIG_INET_XFRM_TUNNEL is not set
237# CONFIG_INET_TUNNEL is not set
238# CONFIG_INET_DIAG is not set
239CONFIG_INET_TCP_DIAG=y
240# CONFIG_TCP_CONG_ADVANCED is not set
241CONFIG_TCP_CONG_BIC=y
242# CONFIG_IPV6 is not set
243# CONFIG_INET6_XFRM_TUNNEL is not set
244# CONFIG_INET6_TUNNEL is not set
245# CONFIG_NETFILTER is not set
246
247#
248# DCCP Configuration (EXPERIMENTAL)
249#
250# CONFIG_IP_DCCP is not set
251
252#
253# SCTP Configuration (EXPERIMENTAL)
254#
255# CONFIG_IP_SCTP is not set
256
257#
258# TIPC Configuration (EXPERIMENTAL)
259#
260# CONFIG_TIPC is not set
261# CONFIG_ATM is not set
262# CONFIG_BRIDGE is not set
263# CONFIG_VLAN_8021Q is not set
264# CONFIG_DECNET is not set
265# CONFIG_LLC2 is not set
266# CONFIG_IPX is not set
267# CONFIG_ATALK is not set
268# CONFIG_X25 is not set
269# CONFIG_LAPB is not set
270# CONFIG_NET_DIVERT is not set
271# CONFIG_ECONET is not set
272# CONFIG_WAN_ROUTER is not set
273
274#
275# QoS and/or fair queueing
276#
277# CONFIG_NET_SCHED is not set
278
279#
280# Network testing
281#
282# CONFIG_NET_PKTGEN is not set
283# CONFIG_HAMRADIO is not set
284# CONFIG_IRDA is not set
285# CONFIG_BT is not set
286# CONFIG_IEEE80211 is not set
287
288#
165# Device Drivers 289# Device Drivers
166# 290#
167 291
@@ -174,6 +298,11 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
174# CONFIG_DEBUG_DRIVER is not set 298# CONFIG_DEBUG_DRIVER is not set
175 299
176# 300#
301# Connector - unified userspace <-> kernelspace linker
302#
303# CONFIG_CONNECTOR is not set
304
305#
177# Memory Technology Devices (MTD) 306# Memory Technology Devices (MTD)
178# 307#
179CONFIG_MTD=y 308CONFIG_MTD=y
@@ -192,6 +321,7 @@ CONFIG_MTD_BLOCK=y
192# CONFIG_FTL is not set 321# CONFIG_FTL is not set
193# CONFIG_NFTL is not set 322# CONFIG_NFTL is not set
194# CONFIG_INFTL is not set 323# CONFIG_INFTL is not set
324# CONFIG_RFD_FTL is not set
195 325
196# 326#
197# RAM/ROM/Flash chip drivers 327# RAM/ROM/Flash chip drivers
@@ -214,6 +344,7 @@ CONFIG_MTD_CFI_I1=y
214CONFIG_MTD_CFI_I2=y 344CONFIG_MTD_CFI_I2=y
215# CONFIG_MTD_CFI_I4 is not set 345# CONFIG_MTD_CFI_I4 is not set
216# CONFIG_MTD_CFI_I8 is not set 346# CONFIG_MTD_CFI_I8 is not set
347# CONFIG_MTD_OTP is not set
217CONFIG_MTD_CFI_INTELEXT=y 348CONFIG_MTD_CFI_INTELEXT=y
218# CONFIG_MTD_CFI_AMDSTD is not set 349# CONFIG_MTD_CFI_AMDSTD is not set
219# CONFIG_MTD_CFI_STAA is not set 350# CONFIG_MTD_CFI_STAA is not set
@@ -221,7 +352,7 @@ CONFIG_MTD_CFI_UTIL=y
221# CONFIG_MTD_RAM is not set 352# CONFIG_MTD_RAM is not set
222# CONFIG_MTD_ROM is not set 353# CONFIG_MTD_ROM is not set
223# CONFIG_MTD_ABSENT is not set 354# CONFIG_MTD_ABSENT is not set
224# CONFIG_MTD_XIP is not set 355# CONFIG_MTD_OBSOLETE_CHIPS is not set
225 356
226# 357#
227# Mapping drivers for chip access 358# Mapping drivers for chip access
@@ -229,7 +360,7 @@ CONFIG_MTD_CFI_UTIL=y
229# CONFIG_MTD_COMPLEX_MAPPINGS is not set 360# CONFIG_MTD_COMPLEX_MAPPINGS is not set
230# CONFIG_MTD_PHYSMAP is not set 361# CONFIG_MTD_PHYSMAP is not set
231CONFIG_MTD_ARM_INTEGRATOR=y 362CONFIG_MTD_ARM_INTEGRATOR=y
232# CONFIG_MTD_EDB7312 is not set 363# CONFIG_MTD_PLATRAM is not set
233 364
234# 365#
235# Self-contained MTD device drivers 366# Self-contained MTD device drivers
@@ -237,7 +368,6 @@ CONFIG_MTD_ARM_INTEGRATOR=y
237# CONFIG_MTD_SLRAM is not set 368# CONFIG_MTD_SLRAM is not set
238# CONFIG_MTD_PHRAM is not set 369# CONFIG_MTD_PHRAM is not set
239# CONFIG_MTD_MTDRAM is not set 370# CONFIG_MTD_MTDRAM is not set
240# CONFIG_MTD_BLKMTD is not set
241# CONFIG_MTD_BLOCK2MTD is not set 371# CONFIG_MTD_BLOCK2MTD is not set
242 372
243# 373#
@@ -253,6 +383,11 @@ CONFIG_MTD_ARM_INTEGRATOR=y
253# CONFIG_MTD_NAND is not set 383# CONFIG_MTD_NAND is not set
254 384
255# 385#
386# OneNAND Flash Device Drivers
387#
388# CONFIG_MTD_ONENAND is not set
389
390#
256# Parallel port support 391# Parallel port support
257# 392#
258# CONFIG_PARPORT is not set 393# CONFIG_PARPORT is not set
@@ -264,7 +399,6 @@ CONFIG_MTD_ARM_INTEGRATOR=y
264# 399#
265# Block devices 400# Block devices
266# 401#
267# CONFIG_BLK_DEV_FD is not set
268# CONFIG_BLK_DEV_COW_COMMON is not set 402# CONFIG_BLK_DEV_COW_COMMON is not set
269# CONFIG_BLK_DEV_LOOP is not set 403# CONFIG_BLK_DEV_LOOP is not set
270# CONFIG_BLK_DEV_NBD is not set 404# CONFIG_BLK_DEV_NBD is not set
@@ -272,21 +406,13 @@ CONFIG_BLK_DEV_RAM=y
272CONFIG_BLK_DEV_RAM_COUNT=16 406CONFIG_BLK_DEV_RAM_COUNT=16
273CONFIG_BLK_DEV_RAM_SIZE=4096 407CONFIG_BLK_DEV_RAM_SIZE=4096
274CONFIG_BLK_DEV_INITRD=y 408CONFIG_BLK_DEV_INITRD=y
275CONFIG_INITRAMFS_SOURCE=""
276# CONFIG_CDROM_PKTCDVD is not set 409# CONFIG_CDROM_PKTCDVD is not set
277
278#
279# IO Schedulers
280#
281CONFIG_IOSCHED_NOOP=y
282CONFIG_IOSCHED_AS=y
283CONFIG_IOSCHED_DEADLINE=y
284CONFIG_IOSCHED_CFQ=y
285# CONFIG_ATA_OVER_ETH is not set 410# CONFIG_ATA_OVER_ETH is not set
286 411
287# 412#
288# SCSI device support 413# SCSI device support
289# 414#
415# CONFIG_RAID_ATTRS is not set
290# CONFIG_SCSI is not set 416# CONFIG_SCSI is not set
291 417
292# 418#
@@ -297,6 +423,7 @@ CONFIG_IOSCHED_CFQ=y
297# 423#
298# Fusion MPT device support 424# Fusion MPT device support
299# 425#
426# CONFIG_FUSION is not set
300 427
301# 428#
302# IEEE 1394 (FireWire) support 429# IEEE 1394 (FireWire) support
@@ -307,71 +434,8 @@ CONFIG_IOSCHED_CFQ=y
307# 434#
308 435
309# 436#
310# Networking support 437# Network device support
311#
312CONFIG_NET=y
313
314#
315# Networking options
316#
317CONFIG_PACKET=y
318CONFIG_PACKET_MMAP=y
319# CONFIG_NETLINK_DEV is not set
320CONFIG_UNIX=y
321# CONFIG_NET_KEY is not set
322CONFIG_INET=y
323CONFIG_IP_MULTICAST=y
324# CONFIG_IP_ADVANCED_ROUTER is not set
325CONFIG_IP_PNP=y
326# CONFIG_IP_PNP_DHCP is not set
327CONFIG_IP_PNP_BOOTP=y
328# CONFIG_IP_PNP_RARP is not set
329# CONFIG_NET_IPIP is not set
330# CONFIG_NET_IPGRE is not set
331# CONFIG_IP_MROUTE is not set
332# CONFIG_ARPD is not set
333# CONFIG_SYN_COOKIES is not set
334# CONFIG_INET_AH is not set
335# CONFIG_INET_ESP is not set
336# CONFIG_INET_IPCOMP is not set
337# CONFIG_INET_TUNNEL is not set
338# CONFIG_IP_TCPDIAG is not set
339# CONFIG_IP_TCPDIAG_IPV6 is not set
340# CONFIG_IPV6 is not set
341# CONFIG_NETFILTER is not set
342
343#
344# SCTP Configuration (EXPERIMENTAL)
345#
346# CONFIG_IP_SCTP is not set
347# CONFIG_ATM is not set
348# CONFIG_BRIDGE is not set
349# CONFIG_VLAN_8021Q is not set
350# CONFIG_DECNET is not set
351# CONFIG_LLC2 is not set
352# CONFIG_IPX is not set
353# CONFIG_ATALK is not set
354# CONFIG_X25 is not set
355# CONFIG_LAPB is not set
356# CONFIG_NET_DIVERT is not set
357# CONFIG_ECONET is not set
358# CONFIG_WAN_ROUTER is not set
359
360#
361# QoS and/or fair queueing
362#
363# CONFIG_NET_SCHED is not set
364# CONFIG_NET_CLS_ROUTE is not set
365
366#
367# Network testing
368# 438#
369# CONFIG_NET_PKTGEN is not set
370# CONFIG_NETPOLL is not set
371# CONFIG_NET_POLL_CONTROLLER is not set
372# CONFIG_HAMRADIO is not set
373# CONFIG_IRDA is not set
374# CONFIG_BT is not set
375CONFIG_NETDEVICES=y 439CONFIG_NETDEVICES=y
376# CONFIG_DUMMY is not set 440# CONFIG_DUMMY is not set
377# CONFIG_BONDING is not set 441# CONFIG_BONDING is not set
@@ -379,11 +443,17 @@ CONFIG_NETDEVICES=y
379# CONFIG_TUN is not set 443# CONFIG_TUN is not set
380 444
381# 445#
446# PHY device support
447#
448# CONFIG_PHYLIB is not set
449
450#
382# Ethernet (10 or 100Mbit) 451# Ethernet (10 or 100Mbit)
383# 452#
384CONFIG_NET_ETHERNET=y 453CONFIG_NET_ETHERNET=y
385CONFIG_MII=y 454CONFIG_MII=y
386CONFIG_SMC91X=y 455CONFIG_SMC91X=y
456# CONFIG_DM9000 is not set
387 457
388# 458#
389# Ethernet (1000 Mbit) 459# Ethernet (1000 Mbit)
@@ -410,6 +480,8 @@ CONFIG_SMC91X=y
410# CONFIG_SLIP is not set 480# CONFIG_SLIP is not set
411# CONFIG_SHAPER is not set 481# CONFIG_SHAPER is not set
412# CONFIG_NETCONSOLE is not set 482# CONFIG_NETCONSOLE is not set
483# CONFIG_NETPOLL is not set
484# CONFIG_NET_POLL_CONTROLLER is not set
413 485
414# 486#
415# ISDN subsystem 487# ISDN subsystem
@@ -459,7 +531,6 @@ CONFIG_SERIO_AMBAKMI=y
459CONFIG_SERIO_LIBPS2=y 531CONFIG_SERIO_LIBPS2=y
460# CONFIG_SERIO_RAW is not set 532# CONFIG_SERIO_RAW is not set
461# CONFIG_GAMEPORT is not set 533# CONFIG_GAMEPORT is not set
462CONFIG_SOUND_GAMEPORT=y
463 534
464# 535#
465# Character devices 536# Character devices
@@ -474,17 +545,16 @@ CONFIG_HW_CONSOLE=y
474# 545#
475CONFIG_SERIAL_8250=m 546CONFIG_SERIAL_8250=m
476CONFIG_SERIAL_8250_NR_UARTS=4 547CONFIG_SERIAL_8250_NR_UARTS=4
548CONFIG_SERIAL_8250_RUNTIME_UARTS=4
477CONFIG_SERIAL_8250_EXTENDED=y 549CONFIG_SERIAL_8250_EXTENDED=y
478CONFIG_SERIAL_8250_MANY_PORTS=y 550CONFIG_SERIAL_8250_MANY_PORTS=y
479CONFIG_SERIAL_8250_SHARE_IRQ=y 551CONFIG_SERIAL_8250_SHARE_IRQ=y
480# CONFIG_SERIAL_8250_DETECT_IRQ is not set 552# CONFIG_SERIAL_8250_DETECT_IRQ is not set
481CONFIG_SERIAL_8250_MULTIPORT=y
482CONFIG_SERIAL_8250_RSA=y 553CONFIG_SERIAL_8250_RSA=y
483 554
484# 555#
485# Non-8250 serial port support 556# Non-8250 serial port support
486# 557#
487# CONFIG_SERIAL_AMBA_PL010 is not set
488CONFIG_SERIAL_AMBA_PL011=y 558CONFIG_SERIAL_AMBA_PL011=y
489CONFIG_SERIAL_AMBA_PL011_CONSOLE=y 559CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
490CONFIG_SERIAL_CORE=y 560CONFIG_SERIAL_CORE=y
@@ -503,20 +573,19 @@ CONFIG_LEGACY_PTY_COUNT=16
503# 573#
504# CONFIG_WATCHDOG is not set 574# CONFIG_WATCHDOG is not set
505# CONFIG_NVRAM is not set 575# CONFIG_NVRAM is not set
506# CONFIG_RTC is not set
507# CONFIG_DTLK is not set 576# CONFIG_DTLK is not set
508# CONFIG_R3964 is not set 577# CONFIG_R3964 is not set
509 578
510# 579#
511# Ftape, the floppy tape device driver 580# Ftape, the floppy tape device driver
512# 581#
513# CONFIG_DRM is not set
514# CONFIG_RAW_DRIVER is not set 582# CONFIG_RAW_DRIVER is not set
515 583
516# 584#
517# TPM devices 585# TPM devices
518# 586#
519# CONFIG_TCG_TPM is not set 587# CONFIG_TCG_TPM is not set
588# CONFIG_TELCLOCK is not set
520 589
521# 590#
522# I2C support 591# I2C support
@@ -534,60 +603,60 @@ CONFIG_I2C_ALGOBIT=y
534# 603#
535# I2C Hardware Bus support 604# I2C Hardware Bus support
536# 605#
537# CONFIG_I2C_ISA is not set
538# CONFIG_I2C_PARPORT_LIGHT is not set 606# CONFIG_I2C_PARPORT_LIGHT is not set
539# CONFIG_I2C_STUB is not set 607# CONFIG_I2C_STUB is not set
540# CONFIG_I2C_PCA_ISA is not set 608# CONFIG_I2C_PCA_ISA is not set
541 609
542# 610#
543# Hardware Sensors Chip support 611# Miscellaneous I2C Chip support
544#
545CONFIG_I2C_SENSOR=m
546# CONFIG_SENSORS_ADM1021 is not set
547# CONFIG_SENSORS_ADM1025 is not set
548# CONFIG_SENSORS_ADM1026 is not set
549# CONFIG_SENSORS_ADM1031 is not set
550# CONFIG_SENSORS_ASB100 is not set
551# CONFIG_SENSORS_DS1621 is not set
552# CONFIG_SENSORS_FSCHER is not set
553# CONFIG_SENSORS_FSCPOS is not set
554# CONFIG_SENSORS_GL518SM is not set
555# CONFIG_SENSORS_GL520SM is not set
556# CONFIG_SENSORS_IT87 is not set
557# CONFIG_SENSORS_LM63 is not set
558# CONFIG_SENSORS_LM75 is not set
559# CONFIG_SENSORS_LM77 is not set
560# CONFIG_SENSORS_LM78 is not set
561# CONFIG_SENSORS_LM80 is not set
562# CONFIG_SENSORS_LM83 is not set
563# CONFIG_SENSORS_LM85 is not set
564# CONFIG_SENSORS_LM87 is not set
565# CONFIG_SENSORS_LM90 is not set
566# CONFIG_SENSORS_MAX1619 is not set
567# CONFIG_SENSORS_PC87360 is not set
568# CONFIG_SENSORS_SMSC47B397 is not set
569# CONFIG_SENSORS_SMSC47M1 is not set
570# CONFIG_SENSORS_W83781D is not set
571# CONFIG_SENSORS_W83L785TS is not set
572# CONFIG_SENSORS_W83627HF is not set
573
574#
575# Other I2C Chip support
576# 612#
613# CONFIG_SENSORS_DS1337 is not set
614# CONFIG_SENSORS_DS1374 is not set
577CONFIG_SENSORS_EEPROM=m 615CONFIG_SENSORS_EEPROM=m
578# CONFIG_SENSORS_PCF8574 is not set 616# CONFIG_SENSORS_PCF8574 is not set
617# CONFIG_SENSORS_PCA9539 is not set
579# CONFIG_SENSORS_PCF8591 is not set 618# CONFIG_SENSORS_PCF8591 is not set
580# CONFIG_SENSORS_RTC8564 is not set 619# CONFIG_SENSORS_MAX6875 is not set
581# CONFIG_I2C_DEBUG_CORE is not set 620# CONFIG_I2C_DEBUG_CORE is not set
582# CONFIG_I2C_DEBUG_ALGO is not set 621# CONFIG_I2C_DEBUG_ALGO is not set
583# CONFIG_I2C_DEBUG_BUS is not set 622# CONFIG_I2C_DEBUG_BUS is not set
584# CONFIG_I2C_DEBUG_CHIP is not set 623# CONFIG_I2C_DEBUG_CHIP is not set
585 624
586# 625#
626# SPI support
627#
628# CONFIG_SPI is not set
629# CONFIG_SPI_MASTER is not set
630
631#
632# Dallas's 1-wire bus
633#
634# CONFIG_W1 is not set
635
636#
637# Hardware Monitoring support
638#
639# CONFIG_HWMON is not set
640# CONFIG_HWMON_VID is not set
641
642#
587# Misc devices 643# Misc devices
588# 644#
589 645
590# 646#
647# LED devices
648#
649# CONFIG_NEW_LEDS is not set
650
651#
652# LED drivers
653#
654
655#
656# LED Triggers
657#
658
659#
591# Multimedia devices 660# Multimedia devices
592# 661#
593# CONFIG_VIDEO_DEV is not set 662# CONFIG_VIDEO_DEV is not set
@@ -604,27 +673,31 @@ CONFIG_FB=y
604CONFIG_FB_CFB_FILLRECT=y 673CONFIG_FB_CFB_FILLRECT=y
605CONFIG_FB_CFB_COPYAREA=y 674CONFIG_FB_CFB_COPYAREA=y
606CONFIG_FB_CFB_IMAGEBLIT=y 675CONFIG_FB_CFB_IMAGEBLIT=y
607CONFIG_FB_SOFT_CURSOR=y 676# CONFIG_FB_MACMODES is not set
677# CONFIG_FB_FIRMWARE_EDID is not set
608# CONFIG_FB_MODE_HELPERS is not set 678# CONFIG_FB_MODE_HELPERS is not set
609# CONFIG_FB_TILEBLITTING is not set 679# CONFIG_FB_TILEBLITTING is not set
610CONFIG_FB_ARMCLCD=y 680CONFIG_FB_ARMCLCD=y
681# CONFIG_FB_S1D13XXX is not set
611# CONFIG_FB_VIRTUAL is not set 682# CONFIG_FB_VIRTUAL is not set
612 683
613# 684#
614# Console display driver support 685# Console display driver support
615# 686#
616# CONFIG_VGA_CONSOLE is not set
617CONFIG_DUMMY_CONSOLE=y 687CONFIG_DUMMY_CONSOLE=y
618CONFIG_FRAMEBUFFER_CONSOLE=y 688CONFIG_FRAMEBUFFER_CONSOLE=y
689# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
619CONFIG_FONTS=y 690CONFIG_FONTS=y
620# CONFIG_FONT_8x8 is not set 691# CONFIG_FONT_8x8 is not set
621# CONFIG_FONT_8x16 is not set 692# CONFIG_FONT_8x16 is not set
622# CONFIG_FONT_6x11 is not set 693# CONFIG_FONT_6x11 is not set
694# CONFIG_FONT_7x14 is not set
623# CONFIG_FONT_PEARL_8x8 is not set 695# CONFIG_FONT_PEARL_8x8 is not set
624CONFIG_FONT_ACORN_8x8=y 696CONFIG_FONT_ACORN_8x8=y
625# CONFIG_FONT_MINI_4x6 is not set 697# CONFIG_FONT_MINI_4x6 is not set
626# CONFIG_FONT_SUN8x16 is not set 698# CONFIG_FONT_SUN8x16 is not set
627# CONFIG_FONT_SUN12x22 is not set 699# CONFIG_FONT_SUN12x22 is not set
700# CONFIG_FONT_10x18 is not set
628 701
629# 702#
630# Logo configuration 703# Logo configuration
@@ -647,12 +720,18 @@ CONFIG_SND_PCM=m
647CONFIG_SND_OSSEMUL=y 720CONFIG_SND_OSSEMUL=y
648CONFIG_SND_MIXER_OSS=m 721CONFIG_SND_MIXER_OSS=m
649CONFIG_SND_PCM_OSS=m 722CONFIG_SND_PCM_OSS=m
723CONFIG_SND_PCM_OSS_PLUGINS=y
724# CONFIG_SND_DYNAMIC_MINORS is not set
725CONFIG_SND_SUPPORT_OLD_API=y
726CONFIG_SND_VERBOSE_PROCFS=y
650# CONFIG_SND_VERBOSE_PRINTK is not set 727# CONFIG_SND_VERBOSE_PRINTK is not set
651# CONFIG_SND_DEBUG is not set 728# CONFIG_SND_DEBUG is not set
652 729
653# 730#
654# Generic devices 731# Generic devices
655# 732#
733CONFIG_SND_AC97_CODEC=m
734CONFIG_SND_AC97_BUS=m
656# CONFIG_SND_DUMMY is not set 735# CONFIG_SND_DUMMY is not set
657# CONFIG_SND_MTPAV is not set 736# CONFIG_SND_MTPAV is not set
658# CONFIG_SND_SERIAL_U16550 is not set 737# CONFIG_SND_SERIAL_U16550 is not set
@@ -661,6 +740,7 @@ CONFIG_SND_PCM_OSS=m
661# 740#
662# ALSA ARM devices 741# ALSA ARM devices
663# 742#
743CONFIG_SND_ARMAACI=m
664 744
665# 745#
666# Open Sound System 746# Open Sound System
@@ -672,9 +752,14 @@ CONFIG_SND_PCM_OSS=m
672# 752#
673CONFIG_USB_ARCH_HAS_HCD=y 753CONFIG_USB_ARCH_HAS_HCD=y
674# CONFIG_USB_ARCH_HAS_OHCI is not set 754# CONFIG_USB_ARCH_HAS_OHCI is not set
755# CONFIG_USB_ARCH_HAS_EHCI is not set
675# CONFIG_USB is not set 756# CONFIG_USB is not set
676 757
677# 758#
759# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
760#
761
762#
678# USB Gadget Support 763# USB Gadget Support
679# 764#
680# CONFIG_USB_GADGET is not set 765# CONFIG_USB_GADGET is not set
@@ -688,25 +773,31 @@ CONFIG_MMC_BLOCK=y
688CONFIG_MMC_ARMMMCI=m 773CONFIG_MMC_ARMMMCI=m
689 774
690# 775#
776# Real Time Clock
777#
778CONFIG_RTC_LIB=y
779# CONFIG_RTC_CLASS is not set
780
781#
691# File systems 782# File systems
692# 783#
693CONFIG_EXT2_FS=y 784CONFIG_EXT2_FS=y
694# CONFIG_EXT2_FS_XATTR is not set 785# CONFIG_EXT2_FS_XATTR is not set
786# CONFIG_EXT2_FS_XIP is not set
695# CONFIG_EXT3_FS is not set 787# CONFIG_EXT3_FS is not set
696# CONFIG_JBD is not set
697# CONFIG_REISERFS_FS is not set 788# CONFIG_REISERFS_FS is not set
698# CONFIG_JFS_FS is not set 789# CONFIG_JFS_FS is not set
699 790# CONFIG_FS_POSIX_ACL is not set
700#
701# XFS support
702#
703# CONFIG_XFS_FS is not set 791# CONFIG_XFS_FS is not set
792# CONFIG_OCFS2_FS is not set
704CONFIG_MINIX_FS=y 793CONFIG_MINIX_FS=y
705CONFIG_ROMFS_FS=y 794CONFIG_ROMFS_FS=y
795# CONFIG_INOTIFY is not set
706# CONFIG_QUOTA is not set 796# CONFIG_QUOTA is not set
707CONFIG_DNOTIFY=y 797CONFIG_DNOTIFY=y
708# CONFIG_AUTOFS_FS is not set 798# CONFIG_AUTOFS_FS is not set
709# CONFIG_AUTOFS4_FS is not set 799# CONFIG_AUTOFS4_FS is not set
800# CONFIG_FUSE_FS is not set
710 801
711# 802#
712# CD-ROM/DVD Filesystems 803# CD-ROM/DVD Filesystems
@@ -729,11 +820,10 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
729# 820#
730CONFIG_PROC_FS=y 821CONFIG_PROC_FS=y
731CONFIG_SYSFS=y 822CONFIG_SYSFS=y
732# CONFIG_DEVFS_FS is not set
733# CONFIG_DEVPTS_FS_XATTR is not set
734# CONFIG_TMPFS is not set 823# CONFIG_TMPFS is not set
735# CONFIG_HUGETLB_PAGE is not set 824# CONFIG_HUGETLB_PAGE is not set
736CONFIG_RAMFS=y 825CONFIG_RAMFS=y
826# CONFIG_CONFIGFS_FS is not set
737 827
738# 828#
739# Miscellaneous filesystems 829# Miscellaneous filesystems
@@ -748,8 +838,8 @@ CONFIG_RAMFS=y
748# CONFIG_JFFS_FS is not set 838# CONFIG_JFFS_FS is not set
749CONFIG_JFFS2_FS=y 839CONFIG_JFFS2_FS=y
750CONFIG_JFFS2_FS_DEBUG=0 840CONFIG_JFFS2_FS_DEBUG=0
751# CONFIG_JFFS2_FS_NAND is not set 841CONFIG_JFFS2_FS_WRITEBUFFER=y
752# CONFIG_JFFS2_FS_NOR_ECC is not set 842# CONFIG_JFFS2_SUMMARY is not set
753# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set 843# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
754CONFIG_JFFS2_ZLIB=y 844CONFIG_JFFS2_ZLIB=y
755CONFIG_JFFS2_RTIME=y 845CONFIG_JFFS2_RTIME=y
@@ -766,16 +856,19 @@ CONFIG_CRAMFS=y
766# 856#
767CONFIG_NFS_FS=y 857CONFIG_NFS_FS=y
768CONFIG_NFS_V3=y 858CONFIG_NFS_V3=y
859# CONFIG_NFS_V3_ACL is not set
769# CONFIG_NFS_V4 is not set 860# CONFIG_NFS_V4 is not set
770# CONFIG_NFS_DIRECTIO is not set 861# CONFIG_NFS_DIRECTIO is not set
771CONFIG_NFSD=y 862CONFIG_NFSD=y
772CONFIG_NFSD_V3=y 863CONFIG_NFSD_V3=y
864# CONFIG_NFSD_V3_ACL is not set
773# CONFIG_NFSD_V4 is not set 865# CONFIG_NFSD_V4 is not set
774# CONFIG_NFSD_TCP is not set 866# CONFIG_NFSD_TCP is not set
775CONFIG_ROOT_NFS=y 867CONFIG_ROOT_NFS=y
776CONFIG_LOCKD=y 868CONFIG_LOCKD=y
777CONFIG_LOCKD_V4=y 869CONFIG_LOCKD_V4=y
778CONFIG_EXPORTFS=y 870CONFIG_EXPORTFS=y
871CONFIG_NFS_COMMON=y
779CONFIG_SUNRPC=y 872CONFIG_SUNRPC=y
780# CONFIG_RPCSEC_GSS_KRB5 is not set 873# CONFIG_RPCSEC_GSS_KRB5 is not set
781# CONFIG_RPCSEC_GSS_SPKM3 is not set 874# CONFIG_RPCSEC_GSS_SPKM3 is not set
@@ -784,6 +877,7 @@ CONFIG_SUNRPC=y
784# CONFIG_NCP_FS is not set 877# CONFIG_NCP_FS is not set
785# CONFIG_CODA_FS is not set 878# CONFIG_CODA_FS is not set
786# CONFIG_AFS_FS is not set 879# CONFIG_AFS_FS is not set
880# CONFIG_9P_FS is not set
787 881
788# 882#
789# Partition Types 883# Partition Types
@@ -803,6 +897,7 @@ CONFIG_MSDOS_PARTITION=y
803# CONFIG_SGI_PARTITION is not set 897# CONFIG_SGI_PARTITION is not set
804# CONFIG_ULTRIX_PARTITION is not set 898# CONFIG_ULTRIX_PARTITION is not set
805# CONFIG_SUN_PARTITION is not set 899# CONFIG_SUN_PARTITION is not set
900# CONFIG_KARMA_PARTITION is not set
806# CONFIG_EFI_PARTITION is not set 901# CONFIG_EFI_PARTITION is not set
807 902
808# 903#
@@ -858,18 +953,24 @@ CONFIG_NLS_ISO8859_1=m
858# Kernel hacking 953# Kernel hacking
859# 954#
860# CONFIG_PRINTK_TIME is not set 955# CONFIG_PRINTK_TIME is not set
861CONFIG_DEBUG_KERNEL=y
862CONFIG_MAGIC_SYSRQ=y 956CONFIG_MAGIC_SYSRQ=y
957CONFIG_DEBUG_KERNEL=y
863CONFIG_LOG_BUF_SHIFT=14 958CONFIG_LOG_BUF_SHIFT=14
959CONFIG_DETECT_SOFTLOCKUP=y
864# CONFIG_SCHEDSTATS is not set 960# CONFIG_SCHEDSTATS is not set
865# CONFIG_DEBUG_SLAB is not set 961# CONFIG_DEBUG_SLAB is not set
962# CONFIG_DEBUG_MUTEXES is not set
866# CONFIG_DEBUG_SPINLOCK is not set 963# CONFIG_DEBUG_SPINLOCK is not set
867# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 964# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
868# CONFIG_DEBUG_KOBJECT is not set 965# CONFIG_DEBUG_KOBJECT is not set
869CONFIG_DEBUG_BUGVERBOSE=y 966CONFIG_DEBUG_BUGVERBOSE=y
870# CONFIG_DEBUG_INFO is not set 967# CONFIG_DEBUG_INFO is not set
871# CONFIG_DEBUG_FS is not set 968# CONFIG_DEBUG_FS is not set
969# CONFIG_DEBUG_VM is not set
872CONFIG_FRAME_POINTER=y 970CONFIG_FRAME_POINTER=y
971# CONFIG_UNWIND_INFO is not set
972CONFIG_FORCED_INLINING=y
973# CONFIG_RCU_TORTURE_TEST is not set
873CONFIG_DEBUG_USER=y 974CONFIG_DEBUG_USER=y
874# CONFIG_DEBUG_WAITQ is not set 975# CONFIG_DEBUG_WAITQ is not set
875CONFIG_DEBUG_ERRORS=y 976CONFIG_DEBUG_ERRORS=y
@@ -895,6 +996,7 @@ CONFIG_DEBUG_LL=y
895# Library routines 996# Library routines
896# 997#
897# CONFIG_CRC_CCITT is not set 998# CONFIG_CRC_CCITT is not set
999# CONFIG_CRC16 is not set
898CONFIG_CRC32=y 1000CONFIG_CRC32=y
899# CONFIG_LIBCRC32C is not set 1001# CONFIG_LIBCRC32C is not set
900CONFIG_ZLIB_INFLATE=y 1002CONFIG_ZLIB_INFLATE=y
diff --git a/arch/arm/kernel/asm-offsets.c b/arch/arm/kernel/asm-offsets.c
index b324dcac1c56..45fdf4a51a2a 100644
--- a/arch/arm/kernel/asm-offsets.c
+++ b/arch/arm/kernel/asm-offsets.c
@@ -95,5 +95,11 @@ int main(void)
95 DEFINE(SYS_ERROR0, 0x9f0000); 95 DEFINE(SYS_ERROR0, 0x9f0000);
96 BLANK(); 96 BLANK();
97 DEFINE(SIZEOF_MACHINE_DESC, sizeof(struct machine_desc)); 97 DEFINE(SIZEOF_MACHINE_DESC, sizeof(struct machine_desc));
98 DEFINE(MACHINFO_TYPE, offsetof(struct machine_desc, nr));
99 DEFINE(MACHINFO_NAME, offsetof(struct machine_desc, name));
100 DEFINE(MACHINFO_PHYSIO, offsetof(struct machine_desc, phys_io));
101 DEFINE(MACHINFO_PGOFFIO, offsetof(struct machine_desc, io_pg_offst));
102 DEFINE(PROCINFO_INITFUNC, offsetof(struct proc_info_list, __cpu_flush));
103 DEFINE(PROCINFO_MMUFLAGS, offsetof(struct proc_info_list, __cpu_mmu_flags));
98 return 0; 104 return 0;
99} 105}
diff --git a/arch/arm/kernel/head-nommu.S b/arch/arm/kernel/head-nommu.S
index 0bea65864051..adf62e5eaad7 100644
--- a/arch/arm/kernel/head-nommu.S
+++ b/arch/arm/kernel/head-nommu.S
@@ -20,12 +20,10 @@
20#include <asm/mach-types.h> 20#include <asm/mach-types.h>
21#include <asm/procinfo.h> 21#include <asm/procinfo.h>
22#include <asm/ptrace.h> 22#include <asm/ptrace.h>
23#include <asm/asm-offsets.h>
23#include <asm/thread_info.h> 24#include <asm/thread_info.h>
24#include <asm/system.h> 25#include <asm/system.h>
25 26
26#define PROCINFO_INITFUNC 12
27#define MACHINFO_TYPE 0
28
29/* 27/*
30 * Kernel startup entry point. 28 * Kernel startup entry point.
31 * --------------------------- 29 * ---------------------------
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index 04b66a9328ef..04f7344e356a 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -24,14 +24,6 @@
24#include <asm/thread_info.h> 24#include <asm/thread_info.h>
25#include <asm/system.h> 25#include <asm/system.h>
26 26
27#define PROCINFO_MMUFLAGS 8
28#define PROCINFO_INITFUNC 12
29
30#define MACHINFO_TYPE 0
31#define MACHINFO_PHYSIO 4
32#define MACHINFO_PGOFFIO 8
33#define MACHINFO_NAME 12
34
35#define KERNEL_RAM_ADDR (PAGE_OFFSET + TEXT_OFFSET) 27#define KERNEL_RAM_ADDR (PAGE_OFFSET + TEXT_OFFSET)
36 28
37/* 29/*
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
index 1ff75cee4b0d..1a1539e3a946 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -264,8 +264,12 @@ void show_fpregs(struct user_fp *regs)
264/* 264/*
265 * Task structure and kernel stack allocation. 265 * Task structure and kernel stack allocation.
266 */ 266 */
267static unsigned long *thread_info_head; 267struct thread_info_list {
268static unsigned int nr_thread_info; 268 unsigned long *head;
269 unsigned int nr;
270};
271
272static DEFINE_PER_CPU(struct thread_info_list, thread_info_list) = { NULL, 0 };
269 273
270#define EXTRA_TASK_STRUCT 4 274#define EXTRA_TASK_STRUCT 4
271 275
@@ -274,12 +278,15 @@ struct thread_info *alloc_thread_info(struct task_struct *task)
274 struct thread_info *thread = NULL; 278 struct thread_info *thread = NULL;
275 279
276 if (EXTRA_TASK_STRUCT) { 280 if (EXTRA_TASK_STRUCT) {
277 unsigned long *p = thread_info_head; 281 struct thread_info_list *th = &get_cpu_var(thread_info_list);
282 unsigned long *p = th->head;
278 283
279 if (p) { 284 if (p) {
280 thread_info_head = (unsigned long *)p[0]; 285 th->head = (unsigned long *)p[0];
281 nr_thread_info -= 1; 286 th->nr -= 1;
282 } 287 }
288 put_cpu_var(thread_info_list);
289
283 thread = (struct thread_info *)p; 290 thread = (struct thread_info *)p;
284 } 291 }
285 292
@@ -300,13 +307,19 @@ struct thread_info *alloc_thread_info(struct task_struct *task)
300 307
301void free_thread_info(struct thread_info *thread) 308void free_thread_info(struct thread_info *thread)
302{ 309{
303 if (EXTRA_TASK_STRUCT && nr_thread_info < EXTRA_TASK_STRUCT) { 310 if (EXTRA_TASK_STRUCT) {
304 unsigned long *p = (unsigned long *)thread; 311 struct thread_info_list *th = &get_cpu_var(thread_info_list);
305 p[0] = (unsigned long)thread_info_head; 312 if (th->nr < EXTRA_TASK_STRUCT) {
306 thread_info_head = p; 313 unsigned long *p = (unsigned long *)thread;
307 nr_thread_info += 1; 314 p[0] = th->head;
308 } else 315 th->head = p;
309 free_pages((unsigned long)thread, THREAD_SIZE_ORDER); 316 th->nr += 1;
317 put_cpu_var(thread_info_list);
318 return;
319 }
320 put_cpu_var(thread_info_list);
321 }
322 free_pages((unsigned long)thread, THREAD_SIZE_ORDER);
310} 323}
311 324
312/* 325/*
diff --git a/arch/arm/mach-aaec2000/aaed2000.c b/arch/arm/mach-aaec2000/aaed2000.c
index dc5fa8e5ebef..83f57da3184c 100644
--- a/arch/arm/mach-aaec2000/aaed2000.c
+++ b/arch/arm/mach-aaec2000/aaed2000.c
@@ -79,7 +79,12 @@ static void __init aaed2000_init(void)
79} 79}
80 80
81static struct map_desc aaed2000_io_desc[] __initdata = { 81static struct map_desc aaed2000_io_desc[] __initdata = {
82 { EXT_GPIO_VBASE, EXT_GPIO_PBASE, EXT_GPIO_LENGTH, MT_DEVICE }, /* Ext GPIO */ 82 {
83 .virtual = EXT_GPIO_VBASE,
84 .pfn = __phys_to_pfn(EXT_GPIO_PBASE),
85 .length = EXT_GPIO_LENGTH,
86 .type = MT_DEVICE
87 },
83}; 88};
84 89
85static void __init aaed2000_map_io(void) 90static void __init aaed2000_map_io(void)
diff --git a/arch/arm/mach-aaec2000/core.c b/arch/arm/mach-aaec2000/core.c
index dce4815cf53c..65be5efd633c 100644
--- a/arch/arm/mach-aaec2000/core.c
+++ b/arch/arm/mach-aaec2000/core.c
@@ -20,7 +20,6 @@
20#include <linux/interrupt.h> 20#include <linux/interrupt.h>
21#include <linux/timex.h> 21#include <linux/timex.h>
22#include <linux/signal.h> 22#include <linux/signal.h>
23#include <linux/amba/bus.h>
24 23
25#include <asm/hardware.h> 24#include <asm/hardware.h>
26#include <asm/irq.h> 25#include <asm/irq.h>
@@ -50,12 +49,12 @@
50static struct map_desc standard_io_desc[] __initdata = { 49static struct map_desc standard_io_desc[] __initdata = {
51 { 50 {
52 .virtual = VIO_APB_BASE, 51 .virtual = VIO_APB_BASE,
53 .physical = __phys_to_pfn(PIO_APB_BASE), 52 .pfn = __phys_to_pfn(PIO_APB_BASE),
54 .length = IO_APB_LENGTH, 53 .length = IO_APB_LENGTH,
55 .type = MT_DEVICE 54 .type = MT_DEVICE
56 }, { 55 }, {
57 .virtual = VIO_AHB_BASE, 56 .virtual = VIO_AHB_BASE,
58 .physical = __phys_to_pfn(PIO_AHB_BASE), 57 .pfn = __phys_to_pfn(PIO_AHB_BASE),
59 .length = IO_AHB_LENGTH, 58 .length = IO_AHB_LENGTH,
60 .type = MT_DEVICE 59 .type = MT_DEVICE
61 } 60 }
diff --git a/arch/arm/mach-aaec2000/core.h b/arch/arm/mach-aaec2000/core.h
index b6029a95f19c..59501b573167 100644
--- a/arch/arm/mach-aaec2000/core.h
+++ b/arch/arm/mach-aaec2000/core.h
@@ -9,6 +9,7 @@
9 * 9 *
10 */ 10 */
11 11
12#include <linux/amba/bus.h>
12#include <linux/amba/clcd.h> 13#include <linux/amba/clcd.h>
13 14
14struct sys_timer; 15struct sys_timer;
diff --git a/arch/arm/mach-imx/generic.c b/arch/arm/mach-imx/generic.c
index 9d8331be2b58..12ea58a3b84f 100644
--- a/arch/arm/mach-imx/generic.c
+++ b/arch/arm/mach-imx/generic.c
@@ -195,56 +195,6 @@ void __init imx_set_mmc_info(struct imxmmc_platform_data *info)
195} 195}
196EXPORT_SYMBOL(imx_set_mmc_info); 196EXPORT_SYMBOL(imx_set_mmc_info);
197 197
198static struct resource imx_uart1_resources[] = {
199 [0] = {
200 .start = 0x00206000,
201 .end = 0x002060FF,
202 .flags = IORESOURCE_MEM,
203 },
204 [1] = {
205 .start = (UART1_MINT_RX),
206 .end = (UART1_MINT_RX),
207 .flags = IORESOURCE_IRQ,
208 },
209 [2] = {
210 .start = (UART1_MINT_TX),
211 .end = (UART1_MINT_TX),
212 .flags = IORESOURCE_IRQ,
213 },
214};
215
216static struct platform_device imx_uart1_device = {
217 .name = "imx-uart",
218 .id = 0,
219 .num_resources = ARRAY_SIZE(imx_uart1_resources),
220 .resource = imx_uart1_resources,
221};
222
223static struct resource imx_uart2_resources[] = {
224 [0] = {
225 .start = 0x00207000,
226 .end = 0x002070FF,
227 .flags = IORESOURCE_MEM,
228 },
229 [1] = {
230 .start = (UART2_MINT_RX),
231 .end = (UART2_MINT_RX),
232 .flags = IORESOURCE_IRQ,
233 },
234 [2] = {
235 .start = (UART2_MINT_TX),
236 .end = (UART2_MINT_TX),
237 .flags = IORESOURCE_IRQ,
238 },
239};
240
241static struct platform_device imx_uart2_device = {
242 .name = "imx-uart",
243 .id = 1,
244 .num_resources = ARRAY_SIZE(imx_uart2_resources),
245 .resource = imx_uart2_resources,
246};
247
248static struct imxfb_mach_info imx_fb_info; 198static struct imxfb_mach_info imx_fb_info;
249 199
250void __init set_imx_fb_info(struct imxfb_mach_info *hard_imx_fb_info) 200void __init set_imx_fb_info(struct imxfb_mach_info *hard_imx_fb_info)
@@ -283,8 +233,6 @@ static struct platform_device imxfb_device = {
283static struct platform_device *devices[] __initdata = { 233static struct platform_device *devices[] __initdata = {
284 &imx_mmc_device, 234 &imx_mmc_device,
285 &imxfb_device, 235 &imxfb_device,
286 &imx_uart1_device,
287 &imx_uart2_device,
288}; 236};
289 237
290static struct map_desc imx_io_desc[] __initdata = { 238static struct map_desc imx_io_desc[] __initdata = {
diff --git a/arch/arm/mach-imx/mx1ads.c b/arch/arm/mach-imx/mx1ads.c
index e34d0df90aed..da893c80d471 100644
--- a/arch/arm/mach-imx/mx1ads.c
+++ b/arch/arm/mach-imx/mx1ads.c
@@ -26,6 +26,7 @@
26 26
27#include <asm/mach/arch.h> 27#include <asm/mach/arch.h>
28#include <asm/arch/mmc.h> 28#include <asm/arch/mmc.h>
29#include <asm/arch/imx-uart.h>
29#include <linux/interrupt.h> 30#include <linux/interrupt.h>
30#include "generic.h" 31#include "generic.h"
31 32
@@ -48,8 +49,70 @@ static struct platform_device cs89x0_device = {
48 .resource = cs89x0_resources, 49 .resource = cs89x0_resources,
49}; 50};
50 51
52static struct imxuart_platform_data uart_pdata = {
53 .flags = IMXUART_HAVE_RTSCTS,
54};
55
56static struct resource imx_uart1_resources[] = {
57 [0] = {
58 .start = 0x00206000,
59 .end = 0x002060FF,
60 .flags = IORESOURCE_MEM,
61 },
62 [1] = {
63 .start = (UART1_MINT_RX),
64 .end = (UART1_MINT_RX),
65 .flags = IORESOURCE_IRQ,
66 },
67 [2] = {
68 .start = (UART1_MINT_TX),
69 .end = (UART1_MINT_TX),
70 .flags = IORESOURCE_IRQ,
71 },
72};
73
74static struct platform_device imx_uart1_device = {
75 .name = "imx-uart",
76 .id = 0,
77 .num_resources = ARRAY_SIZE(imx_uart1_resources),
78 .resource = imx_uart1_resources,
79 .dev = {
80 .platform_data = &uart_pdata,
81 }
82};
83
84static struct resource imx_uart2_resources[] = {
85 [0] = {
86 .start = 0x00207000,
87 .end = 0x002070FF,
88 .flags = IORESOURCE_MEM,
89 },
90 [1] = {
91 .start = (UART2_MINT_RX),
92 .end = (UART2_MINT_RX),
93 .flags = IORESOURCE_IRQ,
94 },
95 [2] = {
96 .start = (UART2_MINT_TX),
97 .end = (UART2_MINT_TX),
98 .flags = IORESOURCE_IRQ,
99 },
100};
101
102static struct platform_device imx_uart2_device = {
103 .name = "imx-uart",
104 .id = 1,
105 .num_resources = ARRAY_SIZE(imx_uart2_resources),
106 .resource = imx_uart2_resources,
107 .dev = {
108 .platform_data = &uart_pdata,
109 }
110};
111
51static struct platform_device *devices[] __initdata = { 112static struct platform_device *devices[] __initdata = {
52 &cs89x0_device, 113 &cs89x0_device,
114 &imx_uart1_device,
115 &imx_uart2_device,
53}; 116};
54 117
55#ifdef CONFIG_MMC_IMX 118#ifdef CONFIG_MMC_IMX
@@ -75,6 +138,17 @@ mx1ads_init(void)
75 imx_gpio_mode(GPIO_PORTB | GPIO_GIUS | GPIO_IN | 20); 138 imx_gpio_mode(GPIO_PORTB | GPIO_GIUS | GPIO_IN | 20);
76 imx_set_mmc_info(&mx1ads_mmc_info); 139 imx_set_mmc_info(&mx1ads_mmc_info);
77#endif 140#endif
141
142 imx_gpio_mode(PC9_PF_UART1_CTS);
143 imx_gpio_mode(PC10_PF_UART1_RTS);
144 imx_gpio_mode(PC11_PF_UART1_TXD);
145 imx_gpio_mode(PC12_PF_UART1_RXD);
146
147 imx_gpio_mode(PB28_PF_UART2_CTS);
148 imx_gpio_mode(PB29_PF_UART2_RTS);
149 imx_gpio_mode(PB30_PF_UART2_TXD);
150 imx_gpio_mode(PB31_PF_UART2_RXD);
151
78 platform_add_devices(devices, ARRAY_SIZE(devices)); 152 platform_add_devices(devices, ARRAY_SIZE(devices));
79} 153}
80 154
@@ -87,7 +161,7 @@ mx1ads_map_io(void)
87MACHINE_START(MX1ADS, "Motorola MX1ADS") 161MACHINE_START(MX1ADS, "Motorola MX1ADS")
88 /* Maintainer: Sascha Hauer, Pengutronix */ 162 /* Maintainer: Sascha Hauer, Pengutronix */
89 .phys_io = 0x00200000, 163 .phys_io = 0x00200000,
90 .io_pg_offst = ((0xe0200000) >> 18) & 0xfffc, 164 .io_pg_offst = ((0xe0000000) >> 18) & 0xfffc,
91 .boot_params = 0x08000100, 165 .boot_params = 0x08000100,
92 .map_io = mx1ads_map_io, 166 .map_io = mx1ads_map_io,
93 .init_irq = imx_init_irq, 167 .init_irq = imx_init_irq,
diff --git a/arch/arm/mach-ixp4xx/Kconfig b/arch/arm/mach-ixp4xx/Kconfig
index 5bf50a2a737d..2a39f9e481ad 100644
--- a/arch/arm/mach-ixp4xx/Kconfig
+++ b/arch/arm/mach-ixp4xx/Kconfig
@@ -11,6 +11,7 @@ comment "IXP4xx Platforms"
11config MACH_NSLU2 11config MACH_NSLU2
12 bool 12 bool
13 prompt "Linksys NSLU2" 13 prompt "Linksys NSLU2"
14 select PCI
14 help 15 help
15 Say 'Y' here if you want your kernel to support Linksys's 16 Say 'Y' here if you want your kernel to support Linksys's
16 NSLU2 NAS device. For more information on this platform, 17 NSLU2 NAS device. For more information on this platform,
@@ -18,6 +19,7 @@ config MACH_NSLU2
18 19
19config ARCH_AVILA 20config ARCH_AVILA
20 bool "Avila" 21 bool "Avila"
22 select PCI
21 help 23 help
22 Say 'Y' here if you want your kernel to support the Gateworks 24 Say 'Y' here if you want your kernel to support the Gateworks
23 Avila Network Platform. For more information on this platform, 25 Avila Network Platform. For more information on this platform,
@@ -25,6 +27,7 @@ config ARCH_AVILA
25 27
26config ARCH_ADI_COYOTE 28config ARCH_ADI_COYOTE
27 bool "Coyote" 29 bool "Coyote"
30 select PCI
28 help 31 help
29 Say 'Y' here if you want your kernel to support the ADI 32 Say 'Y' here if you want your kernel to support the ADI
30 Engineering Coyote Gateway Reference Platform. For more 33 Engineering Coyote Gateway Reference Platform. For more
@@ -32,6 +35,7 @@ config ARCH_ADI_COYOTE
32 35
33config ARCH_IXDP425 36config ARCH_IXDP425
34 bool "IXDP425" 37 bool "IXDP425"
38 select PCI
35 help 39 help
36 Say 'Y' here if you want your kernel to support Intel's 40 Say 'Y' here if you want your kernel to support Intel's
37 IXDP425 Development Platform (Also known as Richfield). 41 IXDP425 Development Platform (Also known as Richfield).
@@ -39,6 +43,7 @@ config ARCH_IXDP425
39 43
40config MACH_IXDPG425 44config MACH_IXDPG425
41 bool "IXDPG425" 45 bool "IXDPG425"
46 select PCI
42 help 47 help
43 Say 'Y' here if you want your kernel to support Intel's 48 Say 'Y' here if you want your kernel to support Intel's
44 IXDPG425 Development Platform (Also known as Montajade). 49 IXDPG425 Development Platform (Also known as Montajade).
@@ -46,6 +51,7 @@ config MACH_IXDPG425
46 51
47config MACH_IXDP465 52config MACH_IXDP465
48 bool "IXDP465" 53 bool "IXDP465"
54 select PCI
49 help 55 help
50 Say 'Y' here if you want your kernel to support Intel's 56 Say 'Y' here if you want your kernel to support Intel's
51 IXDP465 Development Platform (Also known as BMP). 57 IXDP465 Development Platform (Also known as BMP).
@@ -72,6 +78,7 @@ config ARCH_PRPMC1100
72config MACH_NAS100D 78config MACH_NAS100D
73 bool 79 bool
74 prompt "NAS100D" 80 prompt "NAS100D"
81 select PCI
75 help 82 help
76 Say 'Y' here if you want your kernel to support Iomega's 83 Say 'Y' here if you want your kernel to support Iomega's
77 NAS 100d device. For more information on this platform, 84 NAS 100d device. For more information on this platform,
@@ -96,6 +103,7 @@ config CPU_IXP46X
96config MACH_GTWX5715 103config MACH_GTWX5715
97 bool "Gemtek WX5715 (Linksys WRV54G)" 104 bool "Gemtek WX5715 (Linksys WRV54G)"
98 depends on ARCH_IXP4XX 105 depends on ARCH_IXP4XX
106 select PCI
99 help 107 help
100 This board is currently inside the Linksys WRV54G Gateways. 108 This board is currently inside the Linksys WRV54G Gateways.
101 109
@@ -110,11 +118,16 @@ config MACH_GTWX5715
110 "High Speed" UART is n/c (as far as I can tell) 118 "High Speed" UART is n/c (as far as I can tell)
111 20 Pin ARM/Xscale JTAG interface on J2 119 20 Pin ARM/Xscale JTAG interface on J2
112 120
113
114comment "IXP4xx Options" 121comment "IXP4xx Options"
115 122
123config DMABOUNCE
124 bool
125 default y
126 depends on PCI
127
116config IXP4XX_INDIRECT_PCI 128config IXP4XX_INDIRECT_PCI
117 bool "Use indirect PCI memory access" 129 bool "Use indirect PCI memory access"
130 depends on PCI
118 help 131 help
119 IXP4xx provides two methods of accessing PCI memory space: 132 IXP4xx provides two methods of accessing PCI memory space:
120 133
diff --git a/arch/arm/mach-ixp4xx/Makefile b/arch/arm/mach-ixp4xx/Makefile
index 0471044fa179..5a4aaa0e0a09 100644
--- a/arch/arm/mach-ixp4xx/Makefile
+++ b/arch/arm/mach-ixp4xx/Makefile
@@ -2,8 +2,9 @@
2# Makefile for the linux kernel. 2# Makefile for the linux kernel.
3# 3#
4 4
5obj-y += common.o common-pci.o 5obj-y += common.o
6 6
7obj-$(CONFIG_PCI) += common-pci.o
7obj-$(CONFIG_ARCH_IXDP4XX) += ixdp425-pci.o ixdp425-setup.o 8obj-$(CONFIG_ARCH_IXDP4XX) += ixdp425-pci.o ixdp425-setup.o
8obj-$(CONFIG_MACH_IXDPG425) += ixdpg425-pci.o coyote-setup.o 9obj-$(CONFIG_MACH_IXDPG425) += ixdpg425-pci.o coyote-setup.o
9obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o coyote-setup.o 10obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o coyote-setup.o
diff --git a/arch/arm/mach-pxa/dma.c b/arch/arm/mach-pxa/dma.c
index 458112b21e25..7d8c85486c66 100644
--- a/arch/arm/mach-pxa/dma.c
+++ b/arch/arm/mach-pxa/dma.c
@@ -45,23 +45,16 @@ int pxa_request_dma (char *name, pxa_dma_prio prio,
45 45
46 local_irq_save(flags); 46 local_irq_save(flags);
47 47
48 /* try grabbing a DMA channel with the requested priority */ 48 do {
49 for (i = prio; i < prio + PXA_DMA_NBCH(prio); i++) { 49 /* try grabbing a DMA channel with the requested priority */
50 if (!dma_channels[i].name) { 50 pxa_for_each_dma_prio (i, prio) {
51 found = 1;
52 break;
53 }
54 }
55
56 if (!found) {
57 /* requested prio group is full, try hier priorities */
58 for (i = prio-1; i >= 0; i--) {
59 if (!dma_channels[i].name) { 51 if (!dma_channels[i].name) {
60 found = 1; 52 found = 1;
61 break; 53 break;
62 } 54 }
63 } 55 }
64 } 56 /* if requested prio group is full, try a hier priority */
57 } while (!found && prio--);
65 58
66 if (found) { 59 if (found) {
67 DCSR(i) = DCSR_STARTINTR|DCSR_ENDINTR|DCSR_BUSERR; 60 DCSR(i) = DCSR_STARTINTR|DCSR_ENDINTR|DCSR_BUSERR;
diff --git a/arch/arm/mach-sa1100/irq.c b/arch/arm/mach-sa1100/irq.c
index c131a5201b5b..b3a56024182e 100644
--- a/arch/arm/mach-sa1100/irq.c
+++ b/arch/arm/mach-sa1100/irq.c
@@ -199,10 +199,26 @@ static void sa1100_unmask_irq(unsigned int irq)
199 ICMR |= (1 << irq); 199 ICMR |= (1 << irq);
200} 200}
201 201
202/*
203 * Apart form GPIOs, only the RTC alarm can be a wakeup event.
204 */
205static int sa1100_set_wake(unsigned int irq, unsigned int on)
206{
207 if (irq == IRQ_RTCAlrm) {
208 if (on)
209 PWER |= PWER_RTC;
210 else
211 PWER &= ~PWER_RTC;
212 return 0;
213 }
214 return -EINVAL;
215}
216
202static struct irqchip sa1100_normal_chip = { 217static struct irqchip sa1100_normal_chip = {
203 .ack = sa1100_mask_irq, 218 .ack = sa1100_mask_irq,
204 .mask = sa1100_mask_irq, 219 .mask = sa1100_mask_irq,
205 .unmask = sa1100_unmask_irq, 220 .unmask = sa1100_unmask_irq,
221 .set_wake = sa1100_set_wake,
206}; 222};
207 223
208static struct resource irq_resource = { 224static struct resource irq_resource = {
diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types
index 8ab5300dcb94..6d7de9c0412f 100644
--- a/arch/arm/tools/mach-types
+++ b/arch/arm/tools/mach-types
@@ -12,7 +12,7 @@
12# 12#
13# http://www.arm.linux.org.uk/developer/machines/?action=new 13# http://www.arm.linux.org.uk/developer/machines/?action=new
14# 14#
15# Last update: Mon Feb 20 10:18:02 2006 15# Last update: Mon May 8 20:11:05 2006
16# 16#
17# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number 17# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number
18# 18#
@@ -566,8 +566,8 @@ switchgrass MACH_SWITCHGRASS SWITCHGRASS 549
566ens_cmu MACH_ENS_CMU ENS_CMU 550 566ens_cmu MACH_ENS_CMU ENS_CMU 550
567mm6_sdb MACH_MM6_SDB MM6_SDB 551 567mm6_sdb MACH_MM6_SDB MM6_SDB 551
568saturn MACH_SATURN SATURN 552 568saturn MACH_SATURN SATURN 552
569argonplusevb MACH_ARGONPLUSEVB ARGONPLUSEVB 553 569i30030evb MACH_ARGONPLUSEVB ARGONPLUSEVB 553
570scma11evb MACH_SCMA11EVB SCMA11EVB 554 570mxc27530evb MACH_SCMA11EVB SCMA11EVB 554
571smdk2800 MACH_SMDK2800 SMDK2800 555 571smdk2800 MACH_SMDK2800 SMDK2800 555
572mtwilson MACH_MTWILSON MTWILSON 556 572mtwilson MACH_MTWILSON MTWILSON 556
573ziti MACH_ZITI ZITI 557 573ziti MACH_ZITI ZITI 557
@@ -647,7 +647,7 @@ sendt MACH_SENDT SENDT 630
647mx2jazz MACH_MX2JAZZ MX2JAZZ 631 647mx2jazz MACH_MX2JAZZ MX2JAZZ 631
648multiio MACH_MULTIIO MULTIIO 632 648multiio MACH_MULTIIO MULTIIO 632
649hrdisplay MACH_HRDISPLAY HRDISPLAY 633 649hrdisplay MACH_HRDISPLAY HRDISPLAY 633
650scma11bb MACH_SCMA11BB SCMA11BB 634 650mxc27530ads MACH_SCMA11BB SCMA11BB 634
651trizeps3 MACH_TRIZEPS3 TRIZEPS3 635 651trizeps3 MACH_TRIZEPS3 TRIZEPS3 635
652zefeerdza MACH_ZEFEERDZA ZEFEERDZA 636 652zefeerdza MACH_ZEFEERDZA ZEFEERDZA 636
653zefeerdzb MACH_ZEFEERDZB ZEFEERDZB 637 653zefeerdzb MACH_ZEFEERDZB ZEFEERDZB 637
@@ -721,7 +721,7 @@ gp32 MACH_GP32 GP32 706
721gem MACH_GEM GEM 707 721gem MACH_GEM GEM 707
722i858 MACH_I858 I858 708 722i858 MACH_I858 I858 708
723hx2750 MACH_HX2750 HX2750 709 723hx2750 MACH_HX2750 HX2750 709
724zeusevb MACH_ZEUSEVB ZEUSEVB 710 724mxc91131evb MACH_ZEUSEVB ZEUSEVB 710
725p700 MACH_P700 P700 711 725p700 MACH_P700 P700 711
726cpe MACH_CPE CPE 712 726cpe MACH_CPE CPE 712
727spitz MACH_SPITZ SPITZ 713 727spitz MACH_SPITZ SPITZ 713
@@ -802,7 +802,7 @@ cpuat91 MACH_CPUAT91 CPUAT91 787
802rea9200 MACH_REA9200 REA9200 788 802rea9200 MACH_REA9200 REA9200 788
803acts_pune_sa1110 MACH_ACTS_PUNE_SA1110 ACTS_PUNE_SA1110 789 803acts_pune_sa1110 MACH_ACTS_PUNE_SA1110 ACTS_PUNE_SA1110 789
804ixp425 MACH_IXP425 IXP425 790 804ixp425 MACH_IXP425 IXP425 790
805argonplusodyssey MACH_ARGONPLUSODYSSEY ARGONPLUSODYSSEY 791 805i30030ads MACH_ARGONPLUSODYSSEY ARGONPLUSODYSSEY 791
806perch MACH_PERCH PERCH 792 806perch MACH_PERCH PERCH 792
807eis05r1 MACH_EIS05R1 EIS05R1 793 807eis05r1 MACH_EIS05R1 EIS05R1 793
808pepperpad MACH_PEPPERPAD PEPPERPAD 794 808pepperpad MACH_PEPPERPAD PEPPERPAD 794
@@ -827,7 +827,7 @@ micro9l MACH_MICRO9L MICRO9L 812
827uc5471dsp MACH_UC5471DSP UC5471DSP 813 827uc5471dsp MACH_UC5471DSP UC5471DSP 813
828sj5471eng MACH_SJ5471ENG SJ5471ENG 814 828sj5471eng MACH_SJ5471ENG SJ5471ENG 814
829none MACH_CMPXA26X CMPXA26X 815 829none MACH_CMPXA26X CMPXA26X 815
830nc MACH_NC NC 816 830nc1 MACH_NC NC 816
831omap_palmte MACH_OMAP_PALMTE OMAP_PALMTE 817 831omap_palmte MACH_OMAP_PALMTE OMAP_PALMTE 817
832ajax52x MACH_AJAX52X AJAX52X 818 832ajax52x MACH_AJAX52X AJAX52X 818
833siriustar MACH_SIRIUSTAR SIRIUSTAR 819 833siriustar MACH_SIRIUSTAR SIRIUSTAR 819
@@ -930,7 +930,7 @@ netclient MACH_NETCLIENT NETCLIENT 916
930xscale_palmtt5 MACH_XSCALE_PALMTT5 XSCALE_PALMTT5 917 930xscale_palmtt5 MACH_XSCALE_PALMTT5 XSCALE_PALMTT5 917
931xscale_palmtc MACH_OMAP_PALMTC OMAP_PALMTC 918 931xscale_palmtc MACH_OMAP_PALMTC OMAP_PALMTC 918
932omap_apollon MACH_OMAP_APOLLON OMAP_APOLLON 919 932omap_apollon MACH_OMAP_APOLLON OMAP_APOLLON 919
933argonlvevb MACH_ARGONLVEVB ARGONLVEVB 920 933mxc30030evb MACH_ARGONLVEVB ARGONLVEVB 920
934rea_2d MACH_REA_2D REA_2D 921 934rea_2d MACH_REA_2D REA_2D 921
935eti3e524 MACH_TI3E524 TI3E524 922 935eti3e524 MACH_TI3E524 TI3E524 922
936ateb9200 MACH_ATEB9200 ATEB9200 923 936ateb9200 MACH_ATEB9200 ATEB9200 923
@@ -965,7 +965,78 @@ sisteron MACH_SISTERON SISTERON 951
965rx1950 MACH_RX1950 RX1950 952 965rx1950 MACH_RX1950 RX1950 952
966tsc_venus MACH_TSC_VENUS TSC_VENUS 953 966tsc_venus MACH_TSC_VENUS TSC_VENUS 953
967ds101j MACH_DS101J DS101J 954 967ds101j MACH_DS101J DS101J 954
968mxc300_30ads MACH_MXC30030ADS MXC30030ADS 955 968mxc30030ads MACH_MXC30030ADS MXC30030ADS 955
969fujitsu_wimaxsoc MACH_FUJITSU_WIMAXSOC FUJITSU_WIMAXSOC 956 969fujitsu_wimaxsoc MACH_FUJITSU_WIMAXSOC FUJITSU_WIMAXSOC 956
970dualpcmodem MACH_DUALPCMODEM DUALPCMODEM 957 970dualpcmodem MACH_DUALPCMODEM DUALPCMODEM 957
971gesbc9312 MACH_GESBC9312 GESBC9312 958 971gesbc9312 MACH_GESBC9312 GESBC9312 958
972htcapache MACH_HTCAPACHE HTCAPACHE 959
973ixdp435 MACH_IXDP435 IXDP435 960
974catprovt100 MACH_CATPROVT100 CATPROVT100 961
975picotux1xx MACH_PICOTUX1XX PICOTUX1XX 962
976picotux2xx MACH_PICOTUX2XX PICOTUX2XX 963
977dsmg600 MACH_DSMG600 DSMG600 964
978empc2 MACH_EMPC2 EMPC2 965
979ventura MACH_VENTURA VENTURA 966
980phidget_sbc MACH_PHIDGET_SBC PHIDGET_SBC 967
981ij3k MACH_IJ3K IJ3K 968
982pisgah MACH_PISGAH PISGAH 969
983omap_fsample MACH_OMAP_FSAMPLE OMAP_FSAMPLE 970
984sg720 MACH_SG720 SG720 971
985redfox MACH_REDFOX REDFOX 972
986mysh_ep9315_1 MACH_MYSH_EP9315_1 MYSH_EP9315_1 973
987tpf106 MACH_TPF106 TPF106 974
988at91rm9200kg MACH_AT91RM9200KG AT91RM9200KG 975
989racemt2 MACH_SLEDB SLEDB 976
990ontrack MACH_ONTRACK ONTRACK 977
991pm1200 MACH_PM1200 PM1200 978
992ess24562 MACH_ESS24XXX ESS24XXX 979
993coremp7 MACH_COREMP7 COREMP7 980
994nexcoder_6446 MACH_NEXCODER_6446 NEXCODER_6446 981
995stvc8380 MACH_STVC8380 STVC8380 982
996teklynx MACH_TEKLYNX TEKLYNX 983
997carbonado MACH_CARBONADO CARBONADO 984
998sysmos_mp730 MACH_SYSMOS_MP730 SYSMOS_MP730 985
999snapper_cl15 MACH_SNAPPER_CL15 SNAPPER_CL15 986
1000pgigim MACH_PGIGIM PGIGIM 987
1001ptx9160p2 MACH_PTX9160P2 PTX9160P2 988
1002dcore1 MACH_DCORE1 DCORE1 989
1003victorpxa MACH_VICTORPXA VICTORPXA 990
1004mx2dtb MACH_MX2DTB MX2DTB 991
1005pxa_irex_er0100 MACH_PXA_IREX_ER0100 PXA_IREX_ER0100 992
1006omap_palmz71 MACH_OMAP_PALMZ71 OMAP_PALMZ71 993
1007bartec_deg MACH_BARTEC_DEG BARTEC_DEG 994
1008hw50251 MACH_HW50251 HW50251 995
1009ibox MACH_IBOX IBOX 996
1010atlaslh7a404 MACH_ATLASLH7A404 ATLASLH7A404 997
1011pt2026 MACH_PT2026 PT2026 998
1012htcalpine MACH_HTCALPINE HTCALPINE 999
1013bartec_vtu MACH_BARTEC_VTU BARTEC_VTU 1000
1014vcoreii MACH_VCOREII VCOREII 1001
1015pdnb3 MACH_PDNB3 PDNB3 1002
1016htcbeetles MACH_HTCBEETLES HTCBEETLES 1003
1017s3c6400 MACH_S3C6400 S3C6400 1004
1018s3c2443 MACH_S3C2443 S3C2443 1005
1019omap_ldk MACH_OMAP_LDK OMAP_LDK 1006
1020smdk2460 MACH_SMDK2460 SMDK2460 1007
1021smdk2440 MACH_SMDK2440 SMDK2440 1008
1022smdk2412 MACH_SMDK2412 SMDK2412 1009
1023webbox MACH_WEBBOX WEBBOX 1010
1024cwwndp MACH_CWWNDP CWWNDP 1011
1025dragon MACH_DRAGON DRAGON 1012
1026opendo_cpu_board MACH_OPENDO_CPU_BOARD OPENDO_CPU_BOARD 1013
1027ccm2200 MACH_CCM2200 CCM2200 1014
1028etwarm MACH_ETWARM ETWARM 1015
1029m93030 MACH_M93030 M93030 1016
1030cc7u MACH_CC7U CC7U 1017
1031mtt_ranger MACH_MTT_RANGER MTT_RANGER 1018
1032nexus MACH_NEXUS NEXUS 1019
1033desman MACH_DESMAN DESMAN 1020
1034bkde303 MACH_BKDE303 BKDE303 1021
1035smdk2413 MACH_SMDK2413 SMDK2413 1022
1036aml_m7200 MACH_AML_M7200 AML_M7200 1023
1037aml_m5900 MACH_AML_M5900 AML_M5900 1024
1038sg640 MACH_SG640 SG640 1025
1039edg79524 MACH_EDG79524 EDG79524 1026
1040ai2410 MACH_AI2410 AI2410 1027
1041ixp465 MACH_IXP465 IXP465 1028
1042balloon3 MACH_BALLOON3 BALLOON3 1029
diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c
index 37ff8145b5b5..03486be04193 100644
--- a/arch/arm/vfp/vfpmodule.c
+++ b/arch/arm/vfp/vfpmodule.c
@@ -245,7 +245,7 @@ void VFP9_bounce(u32 trigger, u32 fpexc, struct pt_regs *regs)
245 */ 245 */
246 barrier(); 246 barrier();
247 trigger = fmrx(FPINST2); 247 trigger = fmrx(FPINST2);
248 fpscr = fmrx(FPSCR); 248 orig_fpscr = fpscr = fmrx(FPSCR);
249 249
250 emulate: 250 emulate:
251 exceptions = vfp_emulate_instruction(trigger, fpscr, regs); 251 exceptions = vfp_emulate_instruction(trigger, fpscr, regs);
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig
index c6fe99e57a05..8dfa3054f10f 100644
--- a/arch/i386/Kconfig
+++ b/arch/i386/Kconfig
@@ -758,10 +758,10 @@ config HOTPLUG_CPU
758 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" 758 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
759 depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER 759 depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER
760 ---help--- 760 ---help---
761 Say Y here to experiment with turning CPUs off and on. CPUs 761 Say Y here to experiment with turning CPUs off and on, and to
762 can be controlled through /sys/devices/system/cpu. 762 enable suspend on SMP systems. CPUs can be controlled through
763 /sys/devices/system/cpu.
763 764
764 Say N.
765 765
766endmenu 766endmenu
767 767
diff --git a/arch/i386/kernel/acpi/boot.c b/arch/i386/kernel/acpi/boot.c
index 4c785a67d585..40e5aba3ad3d 100644
--- a/arch/i386/kernel/acpi/boot.c
+++ b/arch/i386/kernel/acpi/boot.c
@@ -1102,9 +1102,6 @@ int __init acpi_boot_table_init(void)
1102 dmi_check_system(acpi_dmi_table); 1102 dmi_check_system(acpi_dmi_table);
1103#endif 1103#endif
1104 1104
1105 if (!cpu_has_apic)
1106 return -ENODEV;
1107
1108 /* 1105 /*
1109 * If acpi_disabled, bail out 1106 * If acpi_disabled, bail out
1110 * One exception: acpi=ht continues far enough to enumerate LAPICs 1107 * One exception: acpi=ht continues far enough to enumerate LAPICs
@@ -1151,9 +1148,6 @@ int __init acpi_boot_init(void)
1151 1148
1152 acpi_table_parse(ACPI_BOOT, acpi_parse_sbf); 1149 acpi_table_parse(ACPI_BOOT, acpi_parse_sbf);
1153 1150
1154 if (!cpu_has_apic)
1155 return -ENODEV;
1156
1157 /* 1151 /*
1158 * set sci_int and PM timer address 1152 * set sci_int and PM timer address
1159 */ 1153 */
diff --git a/arch/i386/kernel/io_apic.c b/arch/i386/kernel/io_apic.c
index f8f132aa5472..d70f2ade5cde 100644
--- a/arch/i386/kernel/io_apic.c
+++ b/arch/i386/kernel/io_apic.c
@@ -2238,6 +2238,8 @@ static inline void unlock_ExtINT_logic(void)
2238 spin_unlock_irqrestore(&ioapic_lock, flags); 2238 spin_unlock_irqrestore(&ioapic_lock, flags);
2239} 2239}
2240 2240
2241int timer_uses_ioapic_pin_0;
2242
2241/* 2243/*
2242 * This code may look a bit paranoid, but it's supposed to cooperate with 2244 * This code may look a bit paranoid, but it's supposed to cooperate with
2243 * a wide range of boards and BIOS bugs. Fortunately only the timer IRQ 2245 * a wide range of boards and BIOS bugs. Fortunately only the timer IRQ
@@ -2274,6 +2276,9 @@ static inline void check_timer(void)
2274 pin2 = ioapic_i8259.pin; 2276 pin2 = ioapic_i8259.pin;
2275 apic2 = ioapic_i8259.apic; 2277 apic2 = ioapic_i8259.apic;
2276 2278
2279 if (pin1 == 0)
2280 timer_uses_ioapic_pin_0 = 1;
2281
2277 printk(KERN_INFO "..TIMER: vector=0x%02X apic1=%d pin1=%d apic2=%d pin2=%d\n", 2282 printk(KERN_INFO "..TIMER: vector=0x%02X apic1=%d pin1=%d apic2=%d pin2=%d\n",
2278 vector, apic1, pin1, apic2, pin2); 2283 vector, apic1, pin1, apic2, pin2);
2279 2284
diff --git a/arch/i386/kernel/mpparse.c b/arch/i386/kernel/mpparse.c
index 34d21e21e012..6b1392d33ed5 100644
--- a/arch/i386/kernel/mpparse.c
+++ b/arch/i386/kernel/mpparse.c
@@ -1130,7 +1130,17 @@ int mp_register_gsi (u32 gsi, int triggering, int polarity)
1130 */ 1130 */
1131 int irq = gsi; 1131 int irq = gsi;
1132 if (gsi < MAX_GSI_NUM) { 1132 if (gsi < MAX_GSI_NUM) {
1133 if (gsi > 15) 1133 /*
1134 * Retain the VIA chipset work-around (gsi > 15), but
1135 * avoid a problem where the 8254 timer (IRQ0) is setup
1136 * via an override (so it's not on pin 0 of the ioapic),
1137 * and at the same time, the pin 0 interrupt is a PCI
1138 * type. The gsi > 15 test could cause these two pins
1139 * to be shared as IRQ0, and they are not shareable.
1140 * So test for this condition, and if necessary, avoid
1141 * the pin collision.
1142 */
1143 if (gsi > 15 || (gsi == 0 && !timer_uses_ioapic_pin_0))
1134 gsi = pci_irq++; 1144 gsi = pci_irq++;
1135 /* 1145 /*
1136 * Don't assign IRQ used by ACPI SCI 1146 * Don't assign IRQ used by ACPI SCI
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c
index d77e89ac0d54..846e1639ef7c 100644
--- a/arch/i386/kernel/setup.c
+++ b/arch/i386/kernel/setup.c
@@ -1320,6 +1320,8 @@ legacy_init_iomem_resources(struct resource *code_resource, struct resource *dat
1320 probe_roms(); 1320 probe_roms();
1321 for (i = 0; i < e820.nr_map; i++) { 1321 for (i = 0; i < e820.nr_map; i++) {
1322 struct resource *res; 1322 struct resource *res;
1323 if (e820.map[i].addr + e820.map[i].size > 0x100000000ULL)
1324 continue;
1323 res = kzalloc(sizeof(struct resource), GFP_ATOMIC); 1325 res = kzalloc(sizeof(struct resource), GFP_ATOMIC);
1324 switch (e820.map[i].type) { 1326 switch (e820.map[i].type) {
1325 case E820_RAM: res->name = "System RAM"; break; 1327 case E820_RAM: res->name = "System RAM"; break;
diff --git a/arch/i386/oprofile/nmi_int.c b/arch/i386/oprofile/nmi_int.c
index 1a2076ce6f6a..ec0fd3cfa774 100644
--- a/arch/i386/oprofile/nmi_int.c
+++ b/arch/i386/oprofile/nmi_int.c
@@ -332,10 +332,11 @@ static int __init ppro_init(char ** cpu_type)
332{ 332{
333 __u8 cpu_model = boot_cpu_data.x86_model; 333 __u8 cpu_model = boot_cpu_data.x86_model;
334 334
335 if (cpu_model > 0xd) 335 if (cpu_model == 14)
336 *cpu_type = "i386/core";
337 else if (cpu_model > 0xd)
336 return 0; 338 return 0;
337 339 else if (cpu_model == 9) {
338 if (cpu_model == 9) {
339 *cpu_type = "i386/p6_mobile"; 340 *cpu_type = "i386/p6_mobile";
340 } else if (cpu_model > 5) { 341 } else if (cpu_model > 5) {
341 *cpu_type = "i386/piii"; 342 *cpu_type = "i386/piii";
diff --git a/arch/ia64/lib/memcpy_mck.S b/arch/ia64/lib/memcpy_mck.S
index 46c9331e7ab5..9e534d52b1d5 100644
--- a/arch/ia64/lib/memcpy_mck.S
+++ b/arch/ia64/lib/memcpy_mck.S
@@ -6,7 +6,9 @@
6 * in1: source address 6 * in1: source address
7 * in2: number of bytes to copy 7 * in2: number of bytes to copy
8 * Output: 8 * Output:
9 * 0 if success, or number of byte NOT copied if error occurred. 9 * for memcpy: return dest
10 * for copy_user: return 0 if success,
11 * or number of byte NOT copied if error occurred.
10 * 12 *
11 * Copyright (C) 2002 Intel Corp. 13 * Copyright (C) 2002 Intel Corp.
12 * Copyright (C) 2002 Ken Chen <kenneth.w.chen@intel.com> 14 * Copyright (C) 2002 Ken Chen <kenneth.w.chen@intel.com>
@@ -73,6 +75,7 @@ GLOBAL_ENTRY(memcpy)
73 and r28=0x7,in0 75 and r28=0x7,in0
74 and r29=0x7,in1 76 and r29=0x7,in1
75 mov f6=f0 77 mov f6=f0
78 mov retval=in0
76 br.cond.sptk .common_code 79 br.cond.sptk .common_code
77 ;; 80 ;;
78END(memcpy) 81END(memcpy)
@@ -84,7 +87,7 @@ GLOBAL_ENTRY(__copy_user)
84 mov f6=f1 87 mov f6=f1
85 mov saved_in0=in0 // save dest pointer 88 mov saved_in0=in0 // save dest pointer
86 mov saved_in1=in1 // save src pointer 89 mov saved_in1=in1 // save src pointer
87 mov saved_in2=in2 // save len 90 mov retval=r0 // initialize return value
88 ;; 91 ;;
89.common_code: 92.common_code:
90 cmp.gt p15,p0=8,in2 // check for small size 93 cmp.gt p15,p0=8,in2 // check for small size
@@ -92,7 +95,7 @@ GLOBAL_ENTRY(__copy_user)
92 cmp.ne p14,p0=0,r29 // check src alignment 95 cmp.ne p14,p0=0,r29 // check src alignment
93 add src0=0,in1 96 add src0=0,in1
94 sub r30=8,r28 // for .align_dest 97 sub r30=8,r28 // for .align_dest
95 mov retval=r0 // initialize return value 98 mov saved_in2=in2 // save len
96 ;; 99 ;;
97 add dst0=0,in0 100 add dst0=0,in0
98 add dst1=1,in0 // dest odd index 101 add dst1=1,in0 // dest odd index
diff --git a/arch/powerpc/kernel/kprobes.c b/arch/powerpc/kernel/kprobes.c
index 856ef1a832b9..f78866367b70 100644
--- a/arch/powerpc/kernel/kprobes.c
+++ b/arch/powerpc/kernel/kprobes.c
@@ -90,15 +90,15 @@ void __kprobes arch_remove_kprobe(struct kprobe *p)
90 90
91static void __kprobes prepare_singlestep(struct kprobe *p, struct pt_regs *regs) 91static void __kprobes prepare_singlestep(struct kprobe *p, struct pt_regs *regs)
92{ 92{
93 kprobe_opcode_t insn = *p->ainsn.insn;
94
95 regs->msr |= MSR_SE; 93 regs->msr |= MSR_SE;
96 94
97 /* single step inline if it is a trap variant */ 95 /*
98 if (is_trap(insn)) 96 * On powerpc we should single step on the original
99 regs->nip = (unsigned long)p->addr; 97 * instruction even if the probed insn is a trap
100 else 98 * variant as values in regs could play a part in
101 regs->nip = (unsigned long)p->ainsn.insn; 99 * if the trap is taken or not
100 */
101 regs->nip = (unsigned long)p->ainsn.insn;
102} 102}
103 103
104static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb) 104static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb)
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index 1cb69e8fb0b1..9a07f97f0712 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -885,6 +885,74 @@ void __init unflatten_device_tree(void)
885 DBG(" <- unflatten_device_tree()\n"); 885 DBG(" <- unflatten_device_tree()\n");
886} 886}
887 887
888/*
889 * ibm,pa-features is a per-cpu property that contains a string of
890 * attribute descriptors, each of which has a 2 byte header plus up
891 * to 254 bytes worth of processor attribute bits. First header
892 * byte specifies the number of bytes following the header.
893 * Second header byte is an "attribute-specifier" type, of which
894 * zero is the only currently-defined value.
895 * Implementation: Pass in the byte and bit offset for the feature
896 * that we are interested in. The function will return -1 if the
897 * pa-features property is missing, or a 1/0 to indicate if the feature
898 * is supported/not supported. Note that the bit numbers are
899 * big-endian to match the definition in PAPR.
900 */
901static struct ibm_pa_feature {
902 unsigned long cpu_features; /* CPU_FTR_xxx bit */
903 unsigned int cpu_user_ftrs; /* PPC_FEATURE_xxx bit */
904 unsigned char pabyte; /* byte number in ibm,pa-features */
905 unsigned char pabit; /* bit number (big-endian) */
906 unsigned char invert; /* if 1, pa bit set => clear feature */
907} ibm_pa_features[] __initdata = {
908 {0, PPC_FEATURE_HAS_MMU, 0, 0, 0},
909 {0, PPC_FEATURE_HAS_FPU, 0, 1, 0},
910 {CPU_FTR_SLB, 0, 0, 2, 0},
911 {CPU_FTR_CTRL, 0, 0, 3, 0},
912 {CPU_FTR_NOEXECUTE, 0, 0, 6, 0},
913 {CPU_FTR_NODSISRALIGN, 0, 1, 1, 1},
914 {CPU_FTR_CI_LARGE_PAGE, 0, 1, 2, 0},
915};
916
917static void __init check_cpu_pa_features(unsigned long node)
918{
919 unsigned char *pa_ftrs;
920 unsigned long len, tablelen, i, bit;
921
922 pa_ftrs = of_get_flat_dt_prop(node, "ibm,pa-features", &tablelen);
923 if (pa_ftrs == NULL)
924 return;
925
926 /* find descriptor with type == 0 */
927 for (;;) {
928 if (tablelen < 3)
929 return;
930 len = 2 + pa_ftrs[0];
931 if (tablelen < len)
932 return; /* descriptor 0 not found */
933 if (pa_ftrs[1] == 0)
934 break;
935 tablelen -= len;
936 pa_ftrs += len;
937 }
938
939 /* loop over bits we know about */
940 for (i = 0; i < ARRAY_SIZE(ibm_pa_features); ++i) {
941 struct ibm_pa_feature *fp = &ibm_pa_features[i];
942
943 if (fp->pabyte >= pa_ftrs[0])
944 continue;
945 bit = (pa_ftrs[2 + fp->pabyte] >> (7 - fp->pabit)) & 1;
946 if (bit ^ fp->invert) {
947 cur_cpu_spec->cpu_features |= fp->cpu_features;
948 cur_cpu_spec->cpu_user_features |= fp->cpu_user_ftrs;
949 } else {
950 cur_cpu_spec->cpu_features &= ~fp->cpu_features;
951 cur_cpu_spec->cpu_user_features &= ~fp->cpu_user_ftrs;
952 }
953 }
954}
955
888static int __init early_init_dt_scan_cpus(unsigned long node, 956static int __init early_init_dt_scan_cpus(unsigned long node,
889 const char *uname, int depth, 957 const char *uname, int depth,
890 void *data) 958 void *data)
@@ -969,6 +1037,8 @@ static int __init early_init_dt_scan_cpus(unsigned long node,
969 } 1037 }
970#endif /* CONFIG_ALTIVEC */ 1038#endif /* CONFIG_ALTIVEC */
971 1039
1040 check_cpu_pa_features(node);
1041
972#ifdef CONFIG_PPC_PSERIES 1042#ifdef CONFIG_PPC_PSERIES
973 if (nthreads > 1) 1043 if (nthreads > 1)
974 cur_cpu_spec->cpu_features |= CPU_FTR_SMT; 1044 cur_cpu_spec->cpu_features |= CPU_FTR_SMT;
diff --git a/arch/powerpc/platforms/pseries/eeh_event.c b/arch/powerpc/platforms/pseries/eeh_event.c
index a1bda6f96fd1..40020c65c89e 100644
--- a/arch/powerpc/platforms/pseries/eeh_event.c
+++ b/arch/powerpc/platforms/pseries/eeh_event.c
@@ -118,7 +118,15 @@ int eeh_send_failure_event (struct device_node *dn,
118{ 118{
119 unsigned long flags; 119 unsigned long flags;
120 struct eeh_event *event; 120 struct eeh_event *event;
121 char *location;
121 122
123 if (!mem_init_done) {
124 printk(KERN_ERR "EEH: event during early boot not handled\n");
125 location = (char *) get_property(dn, "ibm,loc-code", NULL);
126 printk(KERN_ERR "EEH: device node = %s\n", dn->full_name);
127 printk(KERN_ERR "EEH: PCI location = %s\n", location);
128 return 1;
129 }
122 event = kmalloc(sizeof(*event), GFP_ATOMIC); 130 event = kmalloc(sizeof(*event), GFP_ATOMIC);
123 if (event == NULL) { 131 if (event == NULL) {
124 printk (KERN_ERR "EEH: out of memory, event not handled\n"); 132 printk (KERN_ERR "EEH: out of memory, event not handled\n");
diff --git a/arch/ppc/kernel/head_8xx.S b/arch/ppc/kernel/head_8xx.S
index ec53c7d65f2b..7a2f20583be4 100644
--- a/arch/ppc/kernel/head_8xx.S
+++ b/arch/ppc/kernel/head_8xx.S
@@ -355,9 +355,7 @@ InstructionTLBMiss:
355 355
356 . = 0x1200 356 . = 0x1200
357DataStoreTLBMiss: 357DataStoreTLBMiss:
358#ifdef CONFIG_8xx_CPU6
359 stw r3, 8(r0) 358 stw r3, 8(r0)
360#endif
361 DO_8xx_CPU6(0x3f80, r3) 359 DO_8xx_CPU6(0x3f80, r3)
362 mtspr SPRN_M_TW, r10 /* Save a couple of working registers */ 360 mtspr SPRN_M_TW, r10 /* Save a couple of working registers */
363 mfcr r10 361 mfcr r10
@@ -417,9 +415,7 @@ DataStoreTLBMiss:
417 lwz r11, 0(r0) 415 lwz r11, 0(r0)
418 mtcr r11 416 mtcr r11
419 lwz r11, 4(r0) 417 lwz r11, 4(r0)
420#ifdef CONFIG_8xx_CPU6
421 lwz r3, 8(r0) 418 lwz r3, 8(r0)
422#endif
423 rfi 419 rfi
424 420
425/* This is an instruction TLB error on the MPC8xx. This could be due 421/* This is an instruction TLB error on the MPC8xx. This could be due
diff --git a/arch/ppc/platforms/mpc866ads_setup.c b/arch/ppc/platforms/mpc866ads_setup.c
index 6ce3b842defe..d919dab61347 100644
--- a/arch/ppc/platforms/mpc866ads_setup.c
+++ b/arch/ppc/platforms/mpc866ads_setup.c
@@ -378,7 +378,7 @@ int __init mpc866ads_init(void)
378 ppc_sys_device_setfunc(MPC8xx_CPM_SMC1, PPC_SYS_FUNC_UART); 378 ppc_sys_device_setfunc(MPC8xx_CPM_SMC1, PPC_SYS_FUNC_UART);
379#endif 379#endif
380 380
381#ifdef CONFIG_SERIAL_CPM_SMCer 381#ifdef CONFIG_SERIAL_CPM_SMC
382 ppc_sys_device_enable(MPC8xx_CPM_SMC2); 382 ppc_sys_device_enable(MPC8xx_CPM_SMC2);
383 ppc_sys_device_setfunc(MPC8xx_CPM_SMC2, PPC_SYS_FUNC_UART); 383 ppc_sys_device_setfunc(MPC8xx_CPM_SMC2, PPC_SYS_FUNC_UART);
384#endif 384#endif
diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S
index ef5b9c44b86b..4d53b2739357 100644
--- a/arch/s390/kernel/compat_wrapper.S
+++ b/arch/s390/kernel/compat_wrapper.S
@@ -1650,3 +1650,11 @@ sys_tee_wrapper:
1650 llgfr %r4,%r4 # size_t 1650 llgfr %r4,%r4 # size_t
1651 llgfr %r5,%r5 # unsigned int 1651 llgfr %r5,%r5 # unsigned int
1652 jg sys_tee 1652 jg sys_tee
1653
1654 .globl compat_sys_vmsplice_wrapper
1655compat_sys_vmsplice_wrapper:
1656 lgfr %r2,%r2 # int
1657 llgtr %r3,%r3 # compat_iovec *
1658 llgfr %r4,%r4 # unsigned int
1659 llgfr %r5,%r5 # unsigned int
1660 jg compat_sys_vmsplice
diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S
index fc2c0767202b..93be1d56c036 100644
--- a/arch/s390/kernel/syscalls.S
+++ b/arch/s390/kernel/syscalls.S
@@ -317,3 +317,4 @@ SYSCALL(sys_get_robust_list,sys_get_robust_list,compat_sys_get_robust_list_wrapp
317SYSCALL(sys_splice,sys_splice,sys_splice_wrapper) 317SYSCALL(sys_splice,sys_splice,sys_splice_wrapper)
318SYSCALL(sys_sync_file_range,sys_sync_file_range,sys_sync_file_range_wrapper) 318SYSCALL(sys_sync_file_range,sys_sync_file_range,sys_sync_file_range_wrapper)
319SYSCALL(sys_tee,sys_tee,sys_tee_wrapper) 319SYSCALL(sys_tee,sys_tee,sys_tee_wrapper)
320SYSCALL(sys_vmsplice,sys_vmsplice,compat_sys_vmsplice_wrapper)
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c
index fea043b69b91..029f09901b85 100644
--- a/arch/s390/kernel/time.c
+++ b/arch/s390/kernel/time.c
@@ -249,18 +249,19 @@ static inline void stop_hz_timer(void)
249 unsigned long flags; 249 unsigned long flags;
250 unsigned long seq, next; 250 unsigned long seq, next;
251 __u64 timer, todval; 251 __u64 timer, todval;
252 int cpu = smp_processor_id();
252 253
253 if (sysctl_hz_timer != 0) 254 if (sysctl_hz_timer != 0)
254 return; 255 return;
255 256
256 cpu_set(smp_processor_id(), nohz_cpu_mask); 257 cpu_set(cpu, nohz_cpu_mask);
257 258
258 /* 259 /*
259 * Leave the clock comparator set up for the next timer 260 * Leave the clock comparator set up for the next timer
260 * tick if either rcu or a softirq is pending. 261 * tick if either rcu or a softirq is pending.
261 */ 262 */
262 if (rcu_pending(smp_processor_id()) || local_softirq_pending()) { 263 if (rcu_needs_cpu(cpu) || local_softirq_pending()) {
263 cpu_clear(smp_processor_id(), nohz_cpu_mask); 264 cpu_clear(cpu, nohz_cpu_mask);
264 return; 265 return;
265 } 266 }
266 267
diff --git a/arch/sparc/kernel/ioport.c b/arch/sparc/kernel/ioport.c
index 460f72e640e6..f9ff29734848 100644
--- a/arch/sparc/kernel/ioport.c
+++ b/arch/sparc/kernel/ioport.c
@@ -274,6 +274,11 @@ void *sbus_alloc_consistent(struct sbus_dev *sdev, long len, u32 *dma_addrp)
274 if (mmu_map_dma_area(dma_addrp, va, res->start, len_total) != 0) 274 if (mmu_map_dma_area(dma_addrp, va, res->start, len_total) != 0)
275 goto err_noiommu; 275 goto err_noiommu;
276 276
277 /* Set the resource name, if known. */
278 if (sdev) {
279 res->name = sdev->prom_name;
280 }
281
277 return (void *)res->start; 282 return (void *)res->start;
278 283
279err_noiommu: 284err_noiommu:
diff --git a/arch/sparc/kernel/module.c b/arch/sparc/kernel/module.c
index 787d5f1347ec..598682f31ebf 100644
--- a/arch/sparc/kernel/module.c
+++ b/arch/sparc/kernel/module.c
@@ -113,6 +113,7 @@ int apply_relocate_add(Elf32_Shdr *sechdrs,
113 113
114 switch (ELF32_R_TYPE(rel[i].r_info)) { 114 switch (ELF32_R_TYPE(rel[i].r_info)) {
115 case R_SPARC_32: 115 case R_SPARC_32:
116 case R_SPARC_UA32:
116 location[0] = v >> 24; 117 location[0] = v >> 24;
117 location[1] = v >> 16; 118 location[1] = v >> 16;
118 location[2] = v >> 8; 119 location[2] = v >> 8;
diff --git a/arch/sparc/kernel/sparc_ksyms.c b/arch/sparc/kernel/sparc_ksyms.c
index ec1c9687d679..4b376fae752c 100644
--- a/arch/sparc/kernel/sparc_ksyms.c
+++ b/arch/sparc/kernel/sparc_ksyms.c
@@ -251,19 +251,9 @@ EXPORT_SYMBOL(__prom_getchild);
251EXPORT_SYMBOL(__prom_getsibling); 251EXPORT_SYMBOL(__prom_getsibling);
252 252
253/* sparc library symbols */ 253/* sparc library symbols */
254EXPORT_SYMBOL(memchr);
255EXPORT_SYMBOL(memscan); 254EXPORT_SYMBOL(memscan);
256EXPORT_SYMBOL(strlen); 255EXPORT_SYMBOL(strlen);
257EXPORT_SYMBOL(strnlen);
258EXPORT_SYMBOL(strcpy);
259EXPORT_SYMBOL(strncpy);
260EXPORT_SYMBOL(strcat);
261EXPORT_SYMBOL(strncat);
262EXPORT_SYMBOL(strcmp);
263EXPORT_SYMBOL(strncmp); 256EXPORT_SYMBOL(strncmp);
264EXPORT_SYMBOL(strchr);
265EXPORT_SYMBOL(strrchr);
266EXPORT_SYMBOL(strstr);
267EXPORT_SYMBOL(page_kernel); 257EXPORT_SYMBOL(page_kernel);
268 258
269/* Special internal versions of library functions. */ 259/* Special internal versions of library functions. */
@@ -317,6 +307,3 @@ EXPORT_SYMBOL(do_BUG);
317 307
318/* Sun Power Management Idle Handler */ 308/* Sun Power Management Idle Handler */
319EXPORT_SYMBOL(pm_idle); 309EXPORT_SYMBOL(pm_idle);
320
321/* Binfmt_misc needs this */
322EXPORT_SYMBOL(sys_close);
diff --git a/arch/sparc/kernel/systbls.S b/arch/sparc/kernel/systbls.S
index db8faa75f94d..6e1135cc03b0 100644
--- a/arch/sparc/kernel/systbls.S
+++ b/arch/sparc/kernel/systbls.S
@@ -23,7 +23,7 @@ sys_call_table:
23/*10*/ .long sys_unlink, sunos_execv, sys_chdir, sys_chown16, sys_mknod 23/*10*/ .long sys_unlink, sunos_execv, sys_chdir, sys_chown16, sys_mknod
24/*15*/ .long sys_chmod, sys_lchown16, sparc_brk, sys_nis_syscall, sys_lseek 24/*15*/ .long sys_chmod, sys_lchown16, sparc_brk, sys_nis_syscall, sys_lseek
25/*20*/ .long sys_getpid, sys_capget, sys_capset, sys_setuid16, sys_getuid16 25/*20*/ .long sys_getpid, sys_capget, sys_capset, sys_setuid16, sys_getuid16
26/*25*/ .long sys_time, sys_ptrace, sys_alarm, sys_sigaltstack, sys_pause 26/*25*/ .long sys_vmsplice, sys_ptrace, sys_alarm, sys_sigaltstack, sys_pause
27/*30*/ .long sys_utime, sys_lchown, sys_fchown, sys_access, sys_nice 27/*30*/ .long sys_utime, sys_lchown, sys_fchown, sys_access, sys_nice
28/*35*/ .long sys_chown, sys_sync, sys_kill, sys_newstat, sys_sendfile 28/*35*/ .long sys_chown, sys_sync, sys_kill, sys_newstat, sys_sendfile
29/*40*/ .long sys_newlstat, sys_dup, sys_pipe, sys_times, sys_getuid 29/*40*/ .long sys_newlstat, sys_dup, sys_pipe, sys_times, sys_getuid
diff --git a/arch/sparc64/defconfig b/arch/sparc64/defconfig
index 1317380fa937..f09a70b8aabd 100644
--- a/arch/sparc64/defconfig
+++ b/arch/sparc64/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.16 3# Linux kernel version: 2.6.17-rc3
4# Sun Apr 2 19:31:04 2006 4# Fri May 12 12:43:49 2006
5# 5#
6CONFIG_SPARC=y 6CONFIG_SPARC=y
7CONFIG_SPARC64=y 7CONFIG_SPARC64=y
@@ -114,6 +114,7 @@ CONFIG_GENERIC_CALIBRATE_DELAY=y
114CONFIG_HUGETLB_PAGE_SIZE_4MB=y 114CONFIG_HUGETLB_PAGE_SIZE_4MB=y
115# CONFIG_HUGETLB_PAGE_SIZE_512K is not set 115# CONFIG_HUGETLB_PAGE_SIZE_512K is not set
116# CONFIG_HUGETLB_PAGE_SIZE_64K is not set 116# CONFIG_HUGETLB_PAGE_SIZE_64K is not set
117CONFIG_ARCH_SELECT_MEMORY_MODEL=y
117CONFIG_ARCH_SPARSEMEM_ENABLE=y 118CONFIG_ARCH_SPARSEMEM_ENABLE=y
118CONFIG_ARCH_SPARSEMEM_DEFAULT=y 119CONFIG_ARCH_SPARSEMEM_DEFAULT=y
119CONFIG_LARGE_ALLOCS=y 120CONFIG_LARGE_ALLOCS=y
@@ -430,7 +431,6 @@ CONFIG_ISCSI_TCP=m
430# CONFIG_SCSI_INIA100 is not set 431# CONFIG_SCSI_INIA100 is not set
431# CONFIG_SCSI_SYM53C8XX_2 is not set 432# CONFIG_SCSI_SYM53C8XX_2 is not set
432# CONFIG_SCSI_IPR is not set 433# CONFIG_SCSI_IPR is not set
433# CONFIG_SCSI_QLOGIC_FC is not set
434# CONFIG_SCSI_QLOGIC_1280 is not set 434# CONFIG_SCSI_QLOGIC_1280 is not set
435# CONFIG_SCSI_QLOGICPTI is not set 435# CONFIG_SCSI_QLOGICPTI is not set
436# CONFIG_SCSI_QLA_FC is not set 436# CONFIG_SCSI_QLA_FC is not set
@@ -1042,9 +1042,7 @@ CONFIG_USB_HIDDEV=y
1042# CONFIG_USB_ACECAD is not set 1042# CONFIG_USB_ACECAD is not set
1043# CONFIG_USB_KBTAB is not set 1043# CONFIG_USB_KBTAB is not set
1044# CONFIG_USB_POWERMATE is not set 1044# CONFIG_USB_POWERMATE is not set
1045# CONFIG_USB_MTOUCH is not set 1045# CONFIG_USB_TOUCHSCREEN is not set
1046# CONFIG_USB_ITMTOUCH is not set
1047# CONFIG_USB_EGALAX is not set
1048# CONFIG_USB_YEALINK is not set 1046# CONFIG_USB_YEALINK is not set
1049# CONFIG_USB_XPAD is not set 1047# CONFIG_USB_XPAD is not set
1050# CONFIG_USB_ATI_REMOTE is not set 1048# CONFIG_USB_ATI_REMOTE is not set
@@ -1115,6 +1113,14 @@ CONFIG_USB_HIDDEV=y
1115# CONFIG_NEW_LEDS is not set 1113# CONFIG_NEW_LEDS is not set
1116 1114
1117# 1115#
1116# LED drivers
1117#
1118
1119#
1120# LED Triggers
1121#
1122
1123#
1118# InfiniBand support 1124# InfiniBand support
1119# 1125#
1120# CONFIG_INFINIBAND is not set 1126# CONFIG_INFINIBAND is not set
@@ -1303,6 +1309,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
1303# CONFIG_DEBUG_INFO is not set 1309# CONFIG_DEBUG_INFO is not set
1304CONFIG_DEBUG_FS=y 1310CONFIG_DEBUG_FS=y
1305# CONFIG_DEBUG_VM is not set 1311# CONFIG_DEBUG_VM is not set
1312# CONFIG_UNWIND_INFO is not set
1306CONFIG_FORCED_INLINING=y 1313CONFIG_FORCED_INLINING=y
1307# CONFIG_RCU_TORTURE_TEST is not set 1314# CONFIG_RCU_TORTURE_TEST is not set
1308# CONFIG_DEBUG_STACK_USAGE is not set 1315# CONFIG_DEBUG_STACK_USAGE is not set
diff --git a/arch/sparc64/kernel/module.c b/arch/sparc64/kernel/module.c
index 6c83e372f75d..579871527699 100644
--- a/arch/sparc64/kernel/module.c
+++ b/arch/sparc64/kernel/module.c
@@ -143,6 +143,11 @@ int apply_relocate_add(Elf64_Shdr *sechdrs,
143 location[3] = v >> 0; 143 location[3] = v >> 0;
144 break; 144 break;
145 145
146 case R_SPARC_DISP32:
147 v -= (Elf64_Addr) location;
148 *loc32 = v;
149 break;
150
146 case R_SPARC_WDISP30: 151 case R_SPARC_WDISP30:
147 v -= (Elf64_Addr) location; 152 v -= (Elf64_Addr) location;
148 *loc32 = (*loc32 & ~0x3fffffff) | 153 *loc32 = (*loc32 & ~0x3fffffff) |
diff --git a/arch/sparc64/kernel/sys32.S b/arch/sparc64/kernel/sys32.S
index f9b75760163c..bdf1f4d02e3f 100644
--- a/arch/sparc64/kernel/sys32.S
+++ b/arch/sparc64/kernel/sys32.S
@@ -139,6 +139,7 @@ SIGN3(sys32_ioprio_set, sys_ioprio_set, %o0, %o1, %o2)
139SIGN2(sys32_splice, sys_splice, %o0, %o1) 139SIGN2(sys32_splice, sys_splice, %o0, %o1)
140SIGN2(sys32_sync_file_range, compat_sync_file_range, %o0, %o5) 140SIGN2(sys32_sync_file_range, compat_sync_file_range, %o0, %o5)
141SIGN2(sys32_tee, sys_tee, %o0, %o1) 141SIGN2(sys32_tee, sys_tee, %o0, %o1)
142SIGN1(sys32_vmsplice, compat_sys_vmsplice, %o0)
142 143
143 .globl sys32_mmap2 144 .globl sys32_mmap2
144sys32_mmap2: 145sys32_mmap2:
diff --git a/arch/sparc64/kernel/systbls.S b/arch/sparc64/kernel/systbls.S
index 62672cd92eca..d4b39cd30310 100644
--- a/arch/sparc64/kernel/systbls.S
+++ b/arch/sparc64/kernel/systbls.S
@@ -25,7 +25,7 @@ sys_call_table32:
25/*10*/ .word sys_unlink, sunos_execv, sys_chdir, sys32_chown16, sys32_mknod 25/*10*/ .word sys_unlink, sunos_execv, sys_chdir, sys32_chown16, sys32_mknod
26/*15*/ .word sys_chmod, sys32_lchown16, sparc_brk, sys32_perfctr, sys32_lseek 26/*15*/ .word sys_chmod, sys32_lchown16, sparc_brk, sys32_perfctr, sys32_lseek
27/*20*/ .word sys_getpid, sys_capget, sys_capset, sys32_setuid16, sys32_getuid16 27/*20*/ .word sys_getpid, sys_capget, sys_capset, sys32_setuid16, sys32_getuid16
28/*25*/ .word compat_sys_time, sys_ptrace, sys_alarm, sys32_sigaltstack, sys32_pause 28/*25*/ .word sys32_vmsplice, sys_ptrace, sys_alarm, sys32_sigaltstack, sys32_pause
29/*30*/ .word compat_sys_utime, sys_lchown, sys_fchown, sys32_access, sys32_nice 29/*30*/ .word compat_sys_utime, sys_lchown, sys_fchown, sys32_access, sys32_nice
30 .word sys_chown, sys_sync, sys32_kill, compat_sys_newstat, sys32_sendfile 30 .word sys_chown, sys_sync, sys32_kill, compat_sys_newstat, sys32_sendfile
31/*40*/ .word compat_sys_newlstat, sys_dup, sys_pipe, compat_sys_times, sys_getuid 31/*40*/ .word compat_sys_newlstat, sys_dup, sys_pipe, compat_sys_times, sys_getuid
@@ -94,7 +94,7 @@ sys_call_table:
94/*10*/ .word sys_unlink, sys_nis_syscall, sys_chdir, sys_chown, sys_mknod 94/*10*/ .word sys_unlink, sys_nis_syscall, sys_chdir, sys_chown, sys_mknod
95/*15*/ .word sys_chmod, sys_lchown, sparc_brk, sys_perfctr, sys_lseek 95/*15*/ .word sys_chmod, sys_lchown, sparc_brk, sys_perfctr, sys_lseek
96/*20*/ .word sys_getpid, sys_capget, sys_capset, sys_setuid, sys_getuid 96/*20*/ .word sys_getpid, sys_capget, sys_capset, sys_setuid, sys_getuid
97/*25*/ .word sys_nis_syscall, sys_ptrace, sys_alarm, sys_sigaltstack, sys_nis_syscall 97/*25*/ .word sys_vmsplice, sys_ptrace, sys_alarm, sys_sigaltstack, sys_nis_syscall
98/*30*/ .word sys_utime, sys_nis_syscall, sys_nis_syscall, sys_access, sys_nice 98/*30*/ .word sys_utime, sys_nis_syscall, sys_nis_syscall, sys_access, sys_nice
99 .word sys_nis_syscall, sys_sync, sys_kill, sys_newstat, sys_sendfile64 99 .word sys_nis_syscall, sys_sync, sys_kill, sys_newstat, sys_sendfile64
100/*40*/ .word sys_newlstat, sys_dup, sys_pipe, sys_times, sys_nis_syscall 100/*40*/ .word sys_newlstat, sys_dup, sys_pipe, sys_times, sys_nis_syscall
diff --git a/arch/um/kernel/time_kern.c b/arch/um/kernel/time_kern.c
index 3c7626cdba4b..528cf623f8b4 100644
--- a/arch/um/kernel/time_kern.c
+++ b/arch/um/kernel/time_kern.c
@@ -209,4 +209,4 @@ int __init timer_init(void)
209 return(0); 209 return(0);
210} 210}
211 211
212__initcall(timer_init); 212arch_initcall(timer_init);
diff --git a/arch/x86_64/kernel/e820.c b/arch/x86_64/kernel/e820.c
index 62776c07cff1..222b5b46d2b2 100644
--- a/arch/x86_64/kernel/e820.c
+++ b/arch/x86_64/kernel/e820.c
@@ -76,6 +76,12 @@ static inline int bad_addr(unsigned long *addrp, unsigned long size)
76 *addrp = __pa_symbol(&_end); 76 *addrp = __pa_symbol(&_end);
77 return 1; 77 return 1;
78 } 78 }
79
80 if (last >= ebda_addr && addr < ebda_addr + ebda_size) {
81 *addrp = ebda_addr + ebda_size;
82 return 1;
83 }
84
79 /* XXX ramdisk image here? */ 85 /* XXX ramdisk image here? */
80 return 0; 86 return 0;
81} 87}
diff --git a/arch/x86_64/kernel/io_apic.c b/arch/x86_64/kernel/io_apic.c
index 77b4c608cca0..0de3ea938830 100644
--- a/arch/x86_64/kernel/io_apic.c
+++ b/arch/x86_64/kernel/io_apic.c
@@ -1777,6 +1777,8 @@ static inline void unlock_ExtINT_logic(void)
1777 spin_unlock_irqrestore(&ioapic_lock, flags); 1777 spin_unlock_irqrestore(&ioapic_lock, flags);
1778} 1778}
1779 1779
1780int timer_uses_ioapic_pin_0;
1781
1780/* 1782/*
1781 * This code may look a bit paranoid, but it's supposed to cooperate with 1783 * This code may look a bit paranoid, but it's supposed to cooperate with
1782 * a wide range of boards and BIOS bugs. Fortunately only the timer IRQ 1784 * a wide range of boards and BIOS bugs. Fortunately only the timer IRQ
@@ -1814,6 +1816,9 @@ static inline void check_timer(void)
1814 pin2 = ioapic_i8259.pin; 1816 pin2 = ioapic_i8259.pin;
1815 apic2 = ioapic_i8259.apic; 1817 apic2 = ioapic_i8259.apic;
1816 1818
1819 if (pin1 == 0)
1820 timer_uses_ioapic_pin_0 = 1;
1821
1817 apic_printk(APIC_VERBOSE,KERN_INFO "..TIMER: vector=0x%02X apic1=%d pin1=%d apic2=%d pin2=%d\n", 1822 apic_printk(APIC_VERBOSE,KERN_INFO "..TIMER: vector=0x%02X apic1=%d pin1=%d apic2=%d pin2=%d\n",
1818 vector, apic1, pin1, apic2, pin2); 1823 vector, apic1, pin1, apic2, pin2);
1819 1824
diff --git a/arch/x86_64/kernel/mpparse.c b/arch/x86_64/kernel/mpparse.c
index b17cf3eba359..083da7e606b1 100644
--- a/arch/x86_64/kernel/mpparse.c
+++ b/arch/x86_64/kernel/mpparse.c
@@ -968,7 +968,17 @@ int mp_register_gsi(u32 gsi, int triggering, int polarity)
968 */ 968 */
969 int irq = gsi; 969 int irq = gsi;
970 if (gsi < MAX_GSI_NUM) { 970 if (gsi < MAX_GSI_NUM) {
971 if (gsi > 15) 971 /*
972 * Retain the VIA chipset work-around (gsi > 15), but
973 * avoid a problem where the 8254 timer (IRQ0) is setup
974 * via an override (so it's not on pin 0 of the ioapic),
975 * and at the same time, the pin 0 interrupt is a PCI
976 * type. The gsi > 15 test could cause these two pins
977 * to be shared as IRQ0, and they are not shareable.
978 * So test for this condition, and if necessary, avoid
979 * the pin collision.
980 */
981 if (gsi > 15 || (gsi == 0 && !timer_uses_ioapic_pin_0))
972 gsi = pci_irq++; 982 gsi = pci_irq++;
973 /* 983 /*
974 * Don't assign IRQ used by ACPI SCI 984 * Don't assign IRQ used by ACPI SCI
diff --git a/arch/x86_64/kernel/pci-gart.c b/arch/x86_64/kernel/pci-gart.c
index 9d3d76c85ae7..2480d3f08a47 100644
--- a/arch/x86_64/kernel/pci-gart.c
+++ b/arch/x86_64/kernel/pci-gart.c
@@ -639,6 +639,14 @@ static int __init pci_iommu_init(void)
639 return -1; 639 return -1;
640 } 640 }
641 641
642 i = 0;
643 for_all_nb(dev)
644 i++;
645 if (i > MAX_NB) {
646 printk(KERN_ERR "PCI-GART: Too many northbridges (%ld). Disabled\n", i);
647 return -1;
648 }
649
642 printk(KERN_INFO "PCI-DMA: using GART IOMMU.\n"); 650 printk(KERN_INFO "PCI-DMA: using GART IOMMU.\n");
643 aper_size = info.aper_size * 1024 * 1024; 651 aper_size = info.aper_size * 1024 * 1024;
644 iommu_size = check_iommu_size(info.aper_base, aper_size); 652 iommu_size = check_iommu_size(info.aper_base, aper_size);
diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c
index ebc3c33b1c6c..f0870bef24d1 100644
--- a/arch/x86_64/kernel/setup.c
+++ b/arch/x86_64/kernel/setup.c
@@ -571,17 +571,28 @@ static inline void copy_edd(void)
571#endif 571#endif
572 572
573#define EBDA_ADDR_POINTER 0x40E 573#define EBDA_ADDR_POINTER 0x40E
574static void __init reserve_ebda_region(void) 574
575unsigned __initdata ebda_addr;
576unsigned __initdata ebda_size;
577
578static void discover_ebda(void)
575{ 579{
576 unsigned int addr; 580 /*
577 /**
578 * there is a real-mode segmented pointer pointing to the 581 * there is a real-mode segmented pointer pointing to the
579 * 4K EBDA area at 0x40E 582 * 4K EBDA area at 0x40E
580 */ 583 */
581 addr = *(unsigned short *)phys_to_virt(EBDA_ADDR_POINTER); 584 ebda_addr = *(unsigned short *)EBDA_ADDR_POINTER;
582 addr <<= 4; 585 ebda_addr <<= 4;
583 if (addr) 586
584 reserve_bootmem_generic(addr, PAGE_SIZE); 587 ebda_size = *(unsigned short *)(unsigned long)ebda_addr;
588
589 /* Round EBDA up to pages */
590 if (ebda_size == 0)
591 ebda_size = 1;
592 ebda_size <<= 10;
593 ebda_size = round_up(ebda_size + (ebda_addr & ~PAGE_MASK), PAGE_SIZE);
594 if (ebda_size > 64*1024)
595 ebda_size = 64*1024;
585} 596}
586 597
587void __init setup_arch(char **cmdline_p) 598void __init setup_arch(char **cmdline_p)
@@ -627,6 +638,8 @@ void __init setup_arch(char **cmdline_p)
627 638
628 check_efer(); 639 check_efer();
629 640
641 discover_ebda();
642
630 init_memory_mapping(0, (end_pfn_map << PAGE_SHIFT)); 643 init_memory_mapping(0, (end_pfn_map << PAGE_SHIFT));
631 644
632 dmi_scan_machine(); 645 dmi_scan_machine();
@@ -669,7 +682,8 @@ void __init setup_arch(char **cmdline_p)
669 reserve_bootmem_generic(0, PAGE_SIZE); 682 reserve_bootmem_generic(0, PAGE_SIZE);
670 683
671 /* reserve ebda region */ 684 /* reserve ebda region */
672 reserve_ebda_region(); 685 if (ebda_addr)
686 reserve_bootmem_generic(ebda_addr, ebda_size);
673 687
674#ifdef CONFIG_SMP 688#ifdef CONFIG_SMP
675 /* 689 /*
diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c
index 2700b1375c1f..6b87268c5c2e 100644
--- a/arch/x86_64/kernel/traps.c
+++ b/arch/x86_64/kernel/traps.c
@@ -385,6 +385,7 @@ void out_of_line_bug(void)
385 385
386static DEFINE_SPINLOCK(die_lock); 386static DEFINE_SPINLOCK(die_lock);
387static int die_owner = -1; 387static int die_owner = -1;
388static unsigned int die_nest_count;
388 389
389unsigned __kprobes long oops_begin(void) 390unsigned __kprobes long oops_begin(void)
390{ 391{
@@ -399,6 +400,7 @@ unsigned __kprobes long oops_begin(void)
399 else 400 else
400 spin_lock(&die_lock); 401 spin_lock(&die_lock);
401 } 402 }
403 die_nest_count++;
402 die_owner = cpu; 404 die_owner = cpu;
403 console_verbose(); 405 console_verbose();
404 bust_spinlocks(1); 406 bust_spinlocks(1);
@@ -409,7 +411,13 @@ void __kprobes oops_end(unsigned long flags)
409{ 411{
410 die_owner = -1; 412 die_owner = -1;
411 bust_spinlocks(0); 413 bust_spinlocks(0);
412 spin_unlock_irqrestore(&die_lock, flags); 414 die_nest_count--;
415 if (die_nest_count)
416 /* We still own the lock */
417 local_irq_restore(flags);
418 else
419 /* Nest count reaches zero, release the lock. */
420 spin_unlock_irqrestore(&die_lock, flags);
413 if (panic_on_oops) 421 if (panic_on_oops)
414 panic("Oops"); 422 panic("Oops");
415} 423}
@@ -464,6 +472,8 @@ void __kprobes die_nmi(char *str, struct pt_regs *regs)
464 panic("nmi watchdog"); 472 panic("nmi watchdog");
465 printk("console shuts up ...\n"); 473 printk("console shuts up ...\n");
466 oops_end(flags); 474 oops_end(flags);
475 nmi_exit();
476 local_irq_enable();
467 do_exit(SIGSEGV); 477 do_exit(SIGSEGV);
468} 478}
469 479