aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/configs/corgi_defconfig83
-rw-r--r--arch/arm/configs/poodle_defconfig1015
-rw-r--r--arch/arm/configs/spitz_defconfig81
-rw-r--r--arch/arm/kernel/head.S11
-rw-r--r--arch/arm/mach-clps7500/core.c2
-rw-r--r--arch/arm/mach-pxa/Kconfig4
-rw-r--r--arch/arm/mach-pxa/tosa.c2
-rw-r--r--arch/arm/mach-realview/core.c1
-rw-r--r--arch/arm/mach-sa1100/assabet.c3
-rw-r--r--arch/arm/mm/consistent.c13
-rw-r--r--arch/arm/tools/mach-types14
-rw-r--r--arch/frv/kernel/semaphore.c2
-rw-r--r--arch/frv/mb93090-mb00/pci-irq.c2
-rw-r--r--arch/frv/mm/init.c2
-rw-r--r--arch/frv/mm/pgalloc.c6
-rw-r--r--arch/i386/kernel/process.c7
-rw-r--r--arch/i386/pci/common.c4
-rw-r--r--arch/i386/pci/direct.c2
-rw-r--r--arch/i386/pci/i386.c7
-rw-r--r--arch/ia64/kernel/process.c7
-rw-r--r--arch/ia64/sn/kernel/bte.c1
-rw-r--r--arch/ia64/sn/kernel/sn2/sn2_smp.c3
-rw-r--r--arch/ia64/sn/kernel/sn2/sn_hwperf.c3
-rw-r--r--arch/m32r/kernel/io_mappi3.c54
-rw-r--r--arch/m32r/kernel/setup_mappi3.c20
-rw-r--r--arch/m32r/kernel/sys_m32r.c6
-rw-r--r--arch/powerpc/Makefile16
-rw-r--r--arch/powerpc/kernel/ppc_ksyms.c6
-rw-r--r--arch/powerpc/kernel/process.c1
-rw-r--r--arch/powerpc/kernel/vdso.c9
-rw-r--r--arch/powerpc/mm/4xx_mmu.c4
-rw-r--r--arch/powerpc/mm/hugetlbpage.c10
-rw-r--r--arch/powerpc/mm/mem.c2
-rw-r--r--arch/powerpc/mm/tlb_32.c6
-rw-r--r--arch/powerpc/mm/tlb_64.c4
-rw-r--r--arch/powerpc/platforms/iseries/iommu.c2
-rw-r--r--arch/powerpc/platforms/pseries/iommu.c2
-rw-r--r--arch/powerpc/sysdev/dart.h2
-rw-r--r--arch/powerpc/sysdev/u3_iommu.c4
-rw-r--r--arch/ppc/kernel/ppc_ksyms.c2
-rw-r--r--arch/sparc/kernel/ioport.c2
-rw-r--r--arch/sparc/mm/generic.c10
-rw-r--r--arch/sparc64/kernel/sbus.c2
-rw-r--r--arch/sparc64/mm/generic.c15
-rw-r--r--arch/um/Makefile2
-rw-r--r--arch/um/include/sysdep-i386/stub.h9
-rw-r--r--arch/um/include/sysdep-x86_64/stub.h12
-rw-r--r--arch/um/kernel/skas/clone.c21
-rw-r--r--arch/um/sys-i386/Makefile2
-rw-r--r--arch/um/sys-i386/ldt.c35
-rw-r--r--arch/um/sys-i386/stub_segv.c11
-rw-r--r--arch/um/sys-x86_64/Makefile2
-rw-r--r--arch/um/sys-x86_64/stub_segv.c20
-rw-r--r--arch/x86_64/kernel/process.c7
54 files changed, 355 insertions, 1220 deletions
diff --git a/arch/arm/configs/corgi_defconfig b/arch/arm/configs/corgi_defconfig
index 24987c89609a..06229026f78b 100644
--- a/arch/arm/configs/corgi_defconfig
+++ b/arch/arm/configs/corgi_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.14-rc3 3# Linux kernel version: 2.6.15-rc2
4# Sun Oct 9 15:46:42 2005 4# Mon Nov 28 10:30:09 2005
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_MMU=y 7CONFIG_MMU=y
@@ -64,6 +64,23 @@ CONFIG_OBSOLETE_MODPARM=y
64CONFIG_KMOD=y 64CONFIG_KMOD=y
65 65
66# 66#
67# Block layer
68#
69
70#
71# IO Schedulers
72#
73CONFIG_IOSCHED_NOOP=y
74CONFIG_IOSCHED_AS=y
75CONFIG_IOSCHED_DEADLINE=y
76CONFIG_IOSCHED_CFQ=y
77CONFIG_DEFAULT_AS=y
78# CONFIG_DEFAULT_DEADLINE is not set
79# CONFIG_DEFAULT_CFQ is not set
80# CONFIG_DEFAULT_NOOP is not set
81CONFIG_DEFAULT_IOSCHED="anticipatory"
82
83#
67# System Type 84# System Type
68# 85#
69# CONFIG_ARCH_CLPS7500 is not set 86# CONFIG_ARCH_CLPS7500 is not set
@@ -85,6 +102,7 @@ CONFIG_ARCH_PXA=y
85# CONFIG_ARCH_LH7A40X is not set 102# CONFIG_ARCH_LH7A40X is not set
86# CONFIG_ARCH_OMAP is not set 103# CONFIG_ARCH_OMAP is not set
87# CONFIG_ARCH_VERSATILE is not set 104# CONFIG_ARCH_VERSATILE is not set
105# CONFIG_ARCH_REALVIEW is not set
88# CONFIG_ARCH_IMX is not set 106# CONFIG_ARCH_IMX is not set
89# CONFIG_ARCH_H720X is not set 107# CONFIG_ARCH_H720X is not set
90# CONFIG_ARCH_AAEC2000 is not set 108# CONFIG_ARCH_AAEC2000 is not set
@@ -98,12 +116,14 @@ CONFIG_ARCH_PXA=y
98CONFIG_PXA_SHARPSL=y 116CONFIG_PXA_SHARPSL=y
99CONFIG_PXA_SHARPSL_25x=y 117CONFIG_PXA_SHARPSL_25x=y
100# CONFIG_PXA_SHARPSL_27x is not set 118# CONFIG_PXA_SHARPSL_27x is not set
101# CONFIG_MACH_POODLE is not set 119CONFIG_MACH_POODLE=y
102CONFIG_MACH_CORGI=y 120CONFIG_MACH_CORGI=y
103CONFIG_MACH_SHEPHERD=y 121CONFIG_MACH_SHEPHERD=y
104CONFIG_MACH_HUSKY=y 122CONFIG_MACH_HUSKY=y
123CONFIG_MACH_TOSA=y
105CONFIG_PXA25x=y 124CONFIG_PXA25x=y
106CONFIG_PXA_SHARP_C7xx=y 125CONFIG_PXA_SHARP_C7xx=y
126CONFIG_PXA_SSP=y
107 127
108# 128#
109# Processor Type 129# Processor Type
@@ -155,6 +175,7 @@ CONFIG_FLATMEM_MANUAL=y
155CONFIG_FLATMEM=y 175CONFIG_FLATMEM=y
156CONFIG_FLAT_NODE_MEM_MAP=y 176CONFIG_FLAT_NODE_MEM_MAP=y
157# CONFIG_SPARSEMEM_STATIC is not set 177# CONFIG_SPARSEMEM_STATIC is not set
178CONFIG_SPLIT_PTLOCK_CPUS=4096
158CONFIG_ALIGNMENT_TRAP=y 179CONFIG_ALIGNMENT_TRAP=y
159 180
160# 181#
@@ -235,6 +256,10 @@ CONFIG_INET6_TUNNEL=m
235CONFIG_IPV6_TUNNEL=m 256CONFIG_IPV6_TUNNEL=m
236CONFIG_NETFILTER=y 257CONFIG_NETFILTER=y
237# CONFIG_NETFILTER_DEBUG is not set 258# CONFIG_NETFILTER_DEBUG is not set
259
260#
261# Core Netfilter Configuration
262#
238# CONFIG_NETFILTER_NETLINK is not set 263# CONFIG_NETFILTER_NETLINK is not set
239 264
240# 265#
@@ -356,6 +381,10 @@ CONFIG_IP6_NF_RAW=m
356# CONFIG_NET_DIVERT is not set 381# CONFIG_NET_DIVERT is not set
357# CONFIG_ECONET is not set 382# CONFIG_ECONET is not set
358# CONFIG_WAN_ROUTER is not set 383# CONFIG_WAN_ROUTER is not set
384
385#
386# QoS and/or fair queueing
387#
359# CONFIG_NET_SCHED is not set 388# CONFIG_NET_SCHED is not set
360CONFIG_NET_CLS_ROUTE=y 389CONFIG_NET_CLS_ROUTE=y
361 390
@@ -413,6 +442,7 @@ CONFIG_IRCOMM=m
413# CONFIG_SMC_IRCC_FIR is not set 442# CONFIG_SMC_IRCC_FIR is not set
414# CONFIG_ALI_FIR is not set 443# CONFIG_ALI_FIR is not set
415# CONFIG_VIA_FIR is not set 444# CONFIG_VIA_FIR is not set
445CONFIG_PXA_FICP=m
416CONFIG_BT=m 446CONFIG_BT=m
417CONFIG_BT_L2CAP=m 447CONFIG_BT_L2CAP=m
418CONFIG_BT_SCO=m 448CONFIG_BT_SCO=m
@@ -431,7 +461,6 @@ CONFIG_BT_HCIUSB=m
431CONFIG_BT_HCIUART=m 461CONFIG_BT_HCIUART=m
432CONFIG_BT_HCIUART_H4=y 462CONFIG_BT_HCIUART_H4=y
433CONFIG_BT_HCIUART_BCSP=y 463CONFIG_BT_HCIUART_BCSP=y
434CONFIG_BT_HCIUART_BCSP_TXCRC=y
435CONFIG_BT_HCIBCM203X=m 464CONFIG_BT_HCIBCM203X=m
436CONFIG_BT_HCIBPA10X=m 465CONFIG_BT_HCIBPA10X=m
437CONFIG_BT_HCIBFUSB=m 466CONFIG_BT_HCIBFUSB=m
@@ -459,6 +488,11 @@ CONFIG_FW_LOADER=y
459# CONFIG_DEBUG_DRIVER is not set 488# CONFIG_DEBUG_DRIVER is not set
460 489
461# 490#
491# Connector - unified userspace <-> kernelspace linker
492#
493# CONFIG_CONNECTOR is not set
494
495#
462# Memory Technology Devices (MTD) 496# Memory Technology Devices (MTD)
463# 497#
464CONFIG_MTD=y 498CONFIG_MTD=y
@@ -477,6 +511,7 @@ CONFIG_MTD_BLOCK=y
477# CONFIG_FTL is not set 511# CONFIG_FTL is not set
478# CONFIG_NFTL is not set 512# CONFIG_NFTL is not set
479# CONFIG_INFTL is not set 513# CONFIG_INFTL is not set
514# CONFIG_RFD_FTL is not set
480 515
481# 516#
482# RAM/ROM/Flash chip drivers 517# RAM/ROM/Flash chip drivers
@@ -532,6 +567,11 @@ CONFIG_MTD_NAND_SHARPSL=y
532# CONFIG_MTD_NAND_NANDSIM is not set 567# CONFIG_MTD_NAND_NANDSIM is not set
533 568
534# 569#
570# OneNAND Flash Device Drivers
571#
572# CONFIG_MTD_ONENAND is not set
573
574#
535# Parallel port support 575# Parallel port support
536# 576#
537# CONFIG_PARPORT is not set 577# CONFIG_PARPORT is not set
@@ -551,14 +591,6 @@ CONFIG_BLK_DEV_LOOP=y
551# CONFIG_BLK_DEV_RAM is not set 591# CONFIG_BLK_DEV_RAM is not set
552CONFIG_BLK_DEV_RAM_COUNT=16 592CONFIG_BLK_DEV_RAM_COUNT=16
553# CONFIG_CDROM_PKTCDVD is not set 593# CONFIG_CDROM_PKTCDVD is not set
554
555#
556# IO Schedulers
557#
558CONFIG_IOSCHED_NOOP=y
559CONFIG_IOSCHED_AS=y
560CONFIG_IOSCHED_DEADLINE=y
561CONFIG_IOSCHED_CFQ=y
562# CONFIG_ATA_OVER_ETH is not set 594# CONFIG_ATA_OVER_ETH is not set
563 595
564# 596#
@@ -625,6 +657,7 @@ CONFIG_SCSI_MULTI_LUN=y
625# 657#
626# SCSI low-level drivers 658# SCSI low-level drivers
627# 659#
660# CONFIG_ISCSI_TCP is not set
628# CONFIG_SCSI_SATA is not set 661# CONFIG_SCSI_SATA is not set
629# CONFIG_SCSI_DEBUG is not set 662# CONFIG_SCSI_DEBUG is not set
630 663
@@ -748,6 +781,7 @@ CONFIG_PPP_ASYNC=m
748# CONFIG_PPP_SYNC_TTY is not set 781# CONFIG_PPP_SYNC_TTY is not set
749# CONFIG_PPP_DEFLATE is not set 782# CONFIG_PPP_DEFLATE is not set
750CONFIG_PPP_BSDCOMP=m 783CONFIG_PPP_BSDCOMP=m
784# CONFIG_PPP_MPPE is not set
751# CONFIG_PPPOE is not set 785# CONFIG_PPPOE is not set
752# CONFIG_SLIP is not set 786# CONFIG_SLIP is not set
753# CONFIG_SHAPER is not set 787# CONFIG_SHAPER is not set
@@ -850,11 +884,15 @@ CONFIG_UNIX98_PTYS=y
850# PCMCIA character devices 884# PCMCIA character devices
851# 885#
852# CONFIG_SYNCLINK_CS is not set 886# CONFIG_SYNCLINK_CS is not set
887# CONFIG_CARDMAN_4000 is not set
888# CONFIG_CARDMAN_4040 is not set
853# CONFIG_RAW_DRIVER is not set 889# CONFIG_RAW_DRIVER is not set
854 890
855# 891#
856# TPM devices 892# TPM devices
857# 893#
894# CONFIG_TCG_TPM is not set
895# CONFIG_TELCLOCK is not set
858 896
859# 897#
860# I2C support 898# I2C support
@@ -889,6 +927,7 @@ CONFIG_I2C_PXA=y
889# CONFIG_SENSORS_PCF8591 is not set 927# CONFIG_SENSORS_PCF8591 is not set
890# CONFIG_SENSORS_RTC8564 is not set 928# CONFIG_SENSORS_RTC8564 is not set
891# CONFIG_SENSORS_MAX6875 is not set 929# CONFIG_SENSORS_MAX6875 is not set
930# CONFIG_RTC_X1205_I2C is not set
892# CONFIG_I2C_DEBUG_CORE is not set 931# CONFIG_I2C_DEBUG_CORE is not set
893# CONFIG_I2C_DEBUG_ALGO is not set 932# CONFIG_I2C_DEBUG_ALGO is not set
894# CONFIG_I2C_DEBUG_BUS is not set 933# CONFIG_I2C_DEBUG_BUS is not set
@@ -957,7 +996,10 @@ CONFIG_VIDEO_DEV=m
957# CONFIG_VIDEO_SAA5246A is not set 996# CONFIG_VIDEO_SAA5246A is not set
958# CONFIG_VIDEO_SAA5249 is not set 997# CONFIG_VIDEO_SAA5249 is not set
959# CONFIG_TUNER_3036 is not set 998# CONFIG_TUNER_3036 is not set
999# CONFIG_VIDEO_EM28XX is not set
960# CONFIG_VIDEO_OVCAMCHIP is not set 1000# CONFIG_VIDEO_OVCAMCHIP is not set
1001# CONFIG_VIDEO_AUDIO_DECODER is not set
1002# CONFIG_VIDEO_DECODER is not set
961 1003
962# 1004#
963# Radio Adapters 1005# Radio Adapters
@@ -976,13 +1018,12 @@ CONFIG_FB=y
976CONFIG_FB_CFB_FILLRECT=y 1018CONFIG_FB_CFB_FILLRECT=y
977CONFIG_FB_CFB_COPYAREA=y 1019CONFIG_FB_CFB_COPYAREA=y
978CONFIG_FB_CFB_IMAGEBLIT=y 1020CONFIG_FB_CFB_IMAGEBLIT=y
979CONFIG_FB_SOFT_CURSOR=y
980# CONFIG_FB_MACMODES is not set 1021# CONFIG_FB_MACMODES is not set
981# CONFIG_FB_MODE_HELPERS is not set 1022# CONFIG_FB_MODE_HELPERS is not set
982# CONFIG_FB_TILEBLITTING is not set 1023# CONFIG_FB_TILEBLITTING is not set
1024# CONFIG_FB_S1D13XXX is not set
983# CONFIG_FB_PXA is not set 1025# CONFIG_FB_PXA is not set
984CONFIG_FB_W100=y 1026CONFIG_FB_W100=y
985# CONFIG_FB_S1D13XXX is not set
986# CONFIG_FB_VIRTUAL is not set 1027# CONFIG_FB_VIRTUAL is not set
987 1028
988# 1029#
@@ -991,6 +1032,7 @@ CONFIG_FB_W100=y
991# CONFIG_VGA_CONSOLE is not set 1032# CONFIG_VGA_CONSOLE is not set
992CONFIG_DUMMY_CONSOLE=y 1033CONFIG_DUMMY_CONSOLE=y
993CONFIG_FRAMEBUFFER_CONSOLE=y 1034CONFIG_FRAMEBUFFER_CONSOLE=y
1035# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
994CONFIG_FONTS=y 1036CONFIG_FONTS=y
995CONFIG_FONT_8x8=y 1037CONFIG_FONT_8x8=y
996CONFIG_FONT_8x16=y 1038CONFIG_FONT_8x16=y
@@ -1087,15 +1129,15 @@ CONFIG_USB_SL811_CS=m
1087# USB Device Class drivers 1129# USB Device Class drivers
1088# 1130#
1089# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set 1131# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
1132CONFIG_USB_ACM=m
1133CONFIG_USB_PRINTER=m
1090 1134
1091# 1135#
1092# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem 1136# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1093# 1137#
1094CONFIG_USB_ACM=m
1095CONFIG_USB_PRINTER=m
1096 1138
1097# 1139#
1098# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information 1140# may also be needed; see USB_STORAGE Help for more information
1099# 1141#
1100CONFIG_USB_STORAGE=m 1142CONFIG_USB_STORAGE=m
1101# CONFIG_USB_STORAGE_DEBUG is not set 1143# CONFIG_USB_STORAGE_DEBUG is not set
@@ -1107,7 +1149,6 @@ CONFIG_USB_STORAGE=m
1107# CONFIG_USB_STORAGE_SDDR09 is not set 1149# CONFIG_USB_STORAGE_SDDR09 is not set
1108# CONFIG_USB_STORAGE_SDDR55 is not set 1150# CONFIG_USB_STORAGE_SDDR55 is not set
1109# CONFIG_USB_STORAGE_JUMPSHOT is not set 1151# CONFIG_USB_STORAGE_JUMPSHOT is not set
1110# CONFIG_USB_STORAGE_ONETOUCH is not set
1111 1152
1112# 1153#
1113# USB Input Devices 1154# USB Input Devices
@@ -1185,6 +1226,7 @@ CONFIG_USB_MON=y
1185CONFIG_USB_SERIAL=m 1226CONFIG_USB_SERIAL=m
1186CONFIG_USB_SERIAL_GENERIC=y 1227CONFIG_USB_SERIAL_GENERIC=y
1187# CONFIG_USB_SERIAL_AIRPRIME is not set 1228# CONFIG_USB_SERIAL_AIRPRIME is not set
1229# CONFIG_USB_SERIAL_ANYDATA is not set
1188CONFIG_USB_SERIAL_BELKIN=m 1230CONFIG_USB_SERIAL_BELKIN=m
1189# CONFIG_USB_SERIAL_WHITEHEAT is not set 1231# CONFIG_USB_SERIAL_WHITEHEAT is not set
1190CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m 1232CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
@@ -1340,6 +1382,7 @@ CONFIG_RAMFS=y
1340CONFIG_JFFS2_FS=y 1382CONFIG_JFFS2_FS=y
1341CONFIG_JFFS2_FS_DEBUG=0 1383CONFIG_JFFS2_FS_DEBUG=0
1342CONFIG_JFFS2_FS_WRITEBUFFER=y 1384CONFIG_JFFS2_FS_WRITEBUFFER=y
1385CONFIG_JFFS2_SUMMARY=y
1343CONFIG_JFFS2_COMPRESSION_OPTIONS=y 1386CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1344CONFIG_JFFS2_ZLIB=y 1387CONFIG_JFFS2_ZLIB=y
1345CONFIG_JFFS2_RTIME=y 1388CONFIG_JFFS2_RTIME=y
@@ -1466,7 +1509,9 @@ CONFIG_DETECT_SOFTLOCKUP=y
1466CONFIG_DEBUG_BUGVERBOSE=y 1509CONFIG_DEBUG_BUGVERBOSE=y
1467# CONFIG_DEBUG_INFO is not set 1510# CONFIG_DEBUG_INFO is not set
1468# CONFIG_DEBUG_FS is not set 1511# CONFIG_DEBUG_FS is not set
1512# CONFIG_DEBUG_VM is not set
1469CONFIG_FRAME_POINTER=y 1513CONFIG_FRAME_POINTER=y
1514# CONFIG_RCU_TORTURE_TEST is not set
1470# CONFIG_DEBUG_USER is not set 1515# CONFIG_DEBUG_USER is not set
1471# CONFIG_DEBUG_WAITQ is not set 1516# CONFIG_DEBUG_WAITQ is not set
1472CONFIG_DEBUG_ERRORS=y 1517CONFIG_DEBUG_ERRORS=y
diff --git a/arch/arm/configs/poodle_defconfig b/arch/arm/configs/poodle_defconfig
deleted file mode 100644
index 72822907759f..000000000000
--- a/arch/arm/configs/poodle_defconfig
+++ /dev/null
@@ -1,1015 +0,0 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.14-rc3
4# Sun Oct 9 17:04:29 2005
5#
6CONFIG_ARM=y
7CONFIG_MMU=y
8CONFIG_UID16=y
9CONFIG_RWSEM_GENERIC_SPINLOCK=y
10CONFIG_GENERIC_CALIBRATE_DELAY=y
11
12#
13# Code maturity level options
14#
15CONFIG_EXPERIMENTAL=y
16CONFIG_CLEAN_COMPILE=y
17CONFIG_BROKEN_ON_SMP=y
18CONFIG_LOCK_KERNEL=y
19CONFIG_INIT_ENV_ARG_LIMIT=32
20
21#
22# General setup
23#
24CONFIG_LOCALVERSION=""
25CONFIG_LOCALVERSION_AUTO=y
26CONFIG_SWAP=y
27CONFIG_SYSVIPC=y
28# CONFIG_POSIX_MQUEUE is not set
29CONFIG_BSD_PROCESS_ACCT=y
30# CONFIG_BSD_PROCESS_ACCT_V3 is not set
31CONFIG_SYSCTL=y
32# CONFIG_AUDIT is not set
33CONFIG_HOTPLUG=y
34CONFIG_KOBJECT_UEVENT=y
35# CONFIG_IKCONFIG is not set
36CONFIG_INITRAMFS_SOURCE=""
37CONFIG_EMBEDDED=y
38CONFIG_KALLSYMS=y
39# CONFIG_KALLSYMS_ALL is not set
40# CONFIG_KALLSYMS_EXTRA_PASS is not set
41CONFIG_PRINTK=y
42CONFIG_BUG=y
43CONFIG_BASE_FULL=y
44CONFIG_FUTEX=y
45CONFIG_EPOLL=y
46# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
47CONFIG_SHMEM=y
48CONFIG_CC_ALIGN_FUNCTIONS=0
49CONFIG_CC_ALIGN_LABELS=0
50CONFIG_CC_ALIGN_LOOPS=0
51CONFIG_CC_ALIGN_JUMPS=0
52# CONFIG_TINY_SHMEM is not set
53CONFIG_BASE_SMALL=0
54
55#
56# Loadable module support
57#
58CONFIG_MODULES=y
59CONFIG_MODULE_UNLOAD=y
60CONFIG_MODULE_FORCE_UNLOAD=y
61CONFIG_OBSOLETE_MODPARM=y
62CONFIG_MODVERSIONS=y
63# CONFIG_MODULE_SRCVERSION_ALL is not set
64CONFIG_KMOD=y
65
66#
67# System Type
68#
69# CONFIG_ARCH_CLPS7500 is not set
70# CONFIG_ARCH_CLPS711X is not set
71# CONFIG_ARCH_CO285 is not set
72# CONFIG_ARCH_EBSA110 is not set
73# CONFIG_ARCH_CAMELOT is not set
74# CONFIG_ARCH_FOOTBRIDGE is not set
75# CONFIG_ARCH_INTEGRATOR is not set
76# CONFIG_ARCH_IOP3XX is not set
77# CONFIG_ARCH_IXP4XX is not set
78# CONFIG_ARCH_IXP2000 is not set
79# CONFIG_ARCH_L7200 is not set
80CONFIG_ARCH_PXA=y
81# CONFIG_ARCH_RPC is not set
82# CONFIG_ARCH_SA1100 is not set
83# CONFIG_ARCH_S3C2410 is not set
84# CONFIG_ARCH_SHARK is not set
85# CONFIG_ARCH_LH7A40X is not set
86# CONFIG_ARCH_OMAP is not set
87# CONFIG_ARCH_VERSATILE is not set
88# CONFIG_ARCH_IMX is not set
89# CONFIG_ARCH_H720X is not set
90# CONFIG_ARCH_AAEC2000 is not set
91
92#
93# Intel PXA2xx Implementations
94#
95# CONFIG_ARCH_LUBBOCK is not set
96# CONFIG_MACH_MAINSTONE is not set
97# CONFIG_ARCH_PXA_IDP is not set
98CONFIG_PXA_SHARPSL=y
99CONFIG_PXA_SHARPSL_25x=y
100# CONFIG_PXA_SHARPSL_27x is not set
101CONFIG_MACH_POODLE=y
102# CONFIG_MACH_CORGI is not set
103# CONFIG_MACH_SHEPHERD is not set
104# CONFIG_MACH_HUSKY is not set
105CONFIG_PXA25x=y
106
107#
108# Processor Type
109#
110CONFIG_CPU_32=y
111CONFIG_CPU_XSCALE=y
112CONFIG_CPU_32v5=y
113CONFIG_CPU_ABRT_EV5T=y
114CONFIG_CPU_CACHE_VIVT=y
115CONFIG_CPU_TLB_V4WBI=y
116
117#
118# Processor Features
119#
120CONFIG_ARM_THUMB=y
121CONFIG_XSCALE_PMU=y
122CONFIG_SHARP_LOCOMO=y
123CONFIG_SHARP_PARAM=y
124CONFIG_SHARP_SCOOP=y
125
126#
127# Bus support
128#
129CONFIG_ISA_DMA_API=y
130
131#
132# PCCARD (PCMCIA/CardBus) support
133#
134CONFIG_PCCARD=y
135# CONFIG_PCMCIA_DEBUG is not set
136CONFIG_PCMCIA=y
137CONFIG_PCMCIA_LOAD_CIS=y
138CONFIG_PCMCIA_IOCTL=y
139
140#
141# PC-card bridges
142#
143CONFIG_PCMCIA_PXA2XX=y
144
145#
146# Kernel Features
147#
148CONFIG_PREEMPT=y
149# CONFIG_NO_IDLE_HZ is not set
150# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
151CONFIG_SELECT_MEMORY_MODEL=y
152CONFIG_FLATMEM_MANUAL=y
153# CONFIG_DISCONTIGMEM_MANUAL is not set
154# CONFIG_SPARSEMEM_MANUAL is not set
155CONFIG_FLATMEM=y
156CONFIG_FLAT_NODE_MEM_MAP=y
157# CONFIG_SPARSEMEM_STATIC is not set
158CONFIG_ALIGNMENT_TRAP=y
159
160#
161# Boot options
162#
163CONFIG_ZBOOT_ROM_TEXT=0x0
164CONFIG_ZBOOT_ROM_BSS=0x0
165CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 debug"
166# CONFIG_XIP_KERNEL is not set
167
168#
169# Floating point emulation
170#
171
172#
173# At least one emulation must be selected
174#
175CONFIG_FPE_NWFPE=y
176# CONFIG_FPE_NWFPE_XP is not set
177# CONFIG_FPE_FASTFPE is not set
178
179#
180# Userspace binary formats
181#
182CONFIG_BINFMT_ELF=y
183CONFIG_BINFMT_AOUT=m
184CONFIG_BINFMT_MISC=m
185# CONFIG_ARTHUR is not set
186
187#
188# Power management options
189#
190CONFIG_PM=y
191CONFIG_APM=y
192
193#
194# Networking
195#
196CONFIG_NET=y
197
198#
199# Networking options
200#
201CONFIG_PACKET=y
202CONFIG_PACKET_MMAP=y
203CONFIG_UNIX=y
204# CONFIG_NET_KEY is not set
205CONFIG_INET=y
206# CONFIG_IP_MULTICAST is not set
207# CONFIG_IP_ADVANCED_ROUTER is not set
208CONFIG_IP_FIB_HASH=y
209# CONFIG_IP_PNP is not set
210# CONFIG_NET_IPIP is not set
211# CONFIG_NET_IPGRE is not set
212# CONFIG_ARPD is not set
213CONFIG_SYN_COOKIES=y
214# CONFIG_INET_AH is not set
215# CONFIG_INET_ESP is not set
216# CONFIG_INET_IPCOMP is not set
217# CONFIG_INET_TUNNEL is not set
218CONFIG_INET_DIAG=y
219CONFIG_INET_TCP_DIAG=y
220# CONFIG_TCP_CONG_ADVANCED is not set
221CONFIG_TCP_CONG_BIC=y
222# CONFIG_IPV6 is not set
223# CONFIG_NETFILTER is not set
224
225#
226# DCCP Configuration (EXPERIMENTAL)
227#
228# CONFIG_IP_DCCP is not set
229
230#
231# SCTP Configuration (EXPERIMENTAL)
232#
233# CONFIG_IP_SCTP is not set
234# CONFIG_ATM is not set
235# CONFIG_BRIDGE is not set
236# CONFIG_VLAN_8021Q is not set
237# CONFIG_DECNET is not set
238# CONFIG_LLC2 is not set
239# CONFIG_IPX is not set
240# CONFIG_ATALK is not set
241# CONFIG_X25 is not set
242# CONFIG_LAPB is not set
243# CONFIG_NET_DIVERT is not set
244# CONFIG_ECONET is not set
245# CONFIG_WAN_ROUTER is not set
246# CONFIG_NET_SCHED is not set
247# CONFIG_NET_CLS_ROUTE is not set
248
249#
250# Network testing
251#
252# CONFIG_NET_PKTGEN is not set
253# CONFIG_HAMRADIO is not set
254# CONFIG_IRDA is not set
255# CONFIG_BT is not set
256# CONFIG_IEEE80211 is not set
257
258#
259# Device Drivers
260#
261
262#
263# Generic Driver Options
264#
265CONFIG_STANDALONE=y
266CONFIG_PREVENT_FIRMWARE_BUILD=y
267CONFIG_FW_LOADER=y
268# CONFIG_DEBUG_DRIVER is not set
269
270#
271# Memory Technology Devices (MTD)
272#
273CONFIG_MTD=y
274# CONFIG_MTD_DEBUG is not set
275# CONFIG_MTD_CONCAT is not set
276CONFIG_MTD_PARTITIONS=y
277# CONFIG_MTD_REDBOOT_PARTS is not set
278# CONFIG_MTD_CMDLINE_PARTS is not set
279# CONFIG_MTD_AFS_PARTS is not set
280
281#
282# User Modules And Translation Layers
283#
284CONFIG_MTD_CHAR=y
285CONFIG_MTD_BLOCK=y
286# CONFIG_FTL is not set
287# CONFIG_NFTL is not set
288# CONFIG_INFTL is not set
289
290#
291# RAM/ROM/Flash chip drivers
292#
293# CONFIG_MTD_CFI is not set
294# CONFIG_MTD_JEDECPROBE is not set
295CONFIG_MTD_MAP_BANK_WIDTH_1=y
296CONFIG_MTD_MAP_BANK_WIDTH_2=y
297CONFIG_MTD_MAP_BANK_WIDTH_4=y
298# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
299# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
300# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
301CONFIG_MTD_CFI_I1=y
302CONFIG_MTD_CFI_I2=y
303# CONFIG_MTD_CFI_I4 is not set
304# CONFIG_MTD_CFI_I8 is not set
305# CONFIG_MTD_RAM is not set
306# CONFIG_MTD_ROM is not set
307# CONFIG_MTD_ABSENT is not set
308
309#
310# Mapping drivers for chip access
311#
312CONFIG_MTD_COMPLEX_MAPPINGS=y
313CONFIG_MTD_SHARP_SL=y
314# CONFIG_MTD_PLATRAM is not set
315
316#
317# Self-contained MTD device drivers
318#
319# CONFIG_MTD_SLRAM is not set
320# CONFIG_MTD_PHRAM is not set
321# CONFIG_MTD_MTDRAM is not set
322# CONFIG_MTD_BLKMTD is not set
323# CONFIG_MTD_BLOCK2MTD is not set
324
325#
326# Disk-On-Chip Device Drivers
327#
328# CONFIG_MTD_DOC2000 is not set
329# CONFIG_MTD_DOC2001 is not set
330# CONFIG_MTD_DOC2001PLUS is not set
331
332#
333# NAND Flash Device Drivers
334#
335CONFIG_MTD_NAND=y
336CONFIG_MTD_NAND_VERIFY_WRITE=y
337# CONFIG_MTD_NAND_H1900 is not set
338CONFIG_MTD_NAND_IDS=y
339# CONFIG_MTD_NAND_DISKONCHIP is not set
340CONFIG_MTD_NAND_SHARPSL=y
341# CONFIG_MTD_NAND_NANDSIM is not set
342
343#
344# Parallel port support
345#
346# CONFIG_PARPORT is not set
347
348#
349# Plug and Play support
350#
351
352#
353# Block devices
354#
355# CONFIG_BLK_DEV_COW_COMMON is not set
356CONFIG_BLK_DEV_LOOP=y
357# CONFIG_BLK_DEV_CRYPTOLOOP is not set
358# CONFIG_BLK_DEV_NBD is not set
359# CONFIG_BLK_DEV_RAM is not set
360CONFIG_BLK_DEV_RAM_COUNT=16
361# CONFIG_CDROM_PKTCDVD is not set
362
363#
364# IO Schedulers
365#
366CONFIG_IOSCHED_NOOP=y
367CONFIG_IOSCHED_AS=y
368CONFIG_IOSCHED_DEADLINE=y
369CONFIG_IOSCHED_CFQ=y
370# CONFIG_ATA_OVER_ETH is not set
371
372#
373# ATA/ATAPI/MFM/RLL support
374#
375CONFIG_IDE=y
376CONFIG_BLK_DEV_IDE=y
377
378#
379# Please see Documentation/ide.txt for help/info on IDE drives
380#
381# CONFIG_BLK_DEV_IDE_SATA is not set
382CONFIG_BLK_DEV_IDEDISK=y
383# CONFIG_IDEDISK_MULTI_MODE is not set
384CONFIG_BLK_DEV_IDECS=y
385# CONFIG_BLK_DEV_IDECD is not set
386# CONFIG_BLK_DEV_IDETAPE is not set
387# CONFIG_BLK_DEV_IDEFLOPPY is not set
388# CONFIG_IDE_TASK_IOCTL is not set
389
390#
391# IDE chipset support/bugfixes
392#
393CONFIG_IDE_GENERIC=y
394# CONFIG_IDE_ARM is not set
395# CONFIG_BLK_DEV_IDEDMA is not set
396# CONFIG_IDEDMA_AUTO is not set
397# CONFIG_BLK_DEV_HD is not set
398
399#
400# SCSI device support
401#
402# CONFIG_RAID_ATTRS is not set
403# CONFIG_SCSI is not set
404
405#
406# Multi-device support (RAID and LVM)
407#
408# CONFIG_MD is not set
409
410#
411# Fusion MPT device support
412#
413# CONFIG_FUSION is not set
414
415#
416# IEEE 1394 (FireWire) support
417#
418
419#
420# I2O device support
421#
422
423#
424# Network device support
425#
426CONFIG_NETDEVICES=y
427# CONFIG_DUMMY is not set
428# CONFIG_BONDING is not set
429# CONFIG_EQUALIZER is not set
430# CONFIG_TUN is not set
431
432#
433# PHY device support
434#
435# CONFIG_PHYLIB is not set
436
437#
438# Ethernet (10 or 100Mbit)
439#
440CONFIG_NET_ETHERNET=y
441# CONFIG_MII is not set
442# CONFIG_SMC91X is not set
443# CONFIG_DM9000 is not set
444
445#
446# Ethernet (1000 Mbit)
447#
448
449#
450# Ethernet (10000 Mbit)
451#
452
453#
454# Token Ring devices
455#
456
457#
458# Wireless LAN (non-hamradio)
459#
460CONFIG_NET_RADIO=y
461
462#
463# Obsolete Wireless cards support (pre-802.11)
464#
465# CONFIG_STRIP is not set
466# CONFIG_PCMCIA_WAVELAN is not set
467# CONFIG_PCMCIA_NETWAVE is not set
468
469#
470# Wireless 802.11 Frequency Hopping cards support
471#
472# CONFIG_PCMCIA_RAYCS is not set
473
474#
475# Wireless 802.11b ISA/PCI cards support
476#
477# CONFIG_HERMES is not set
478# CONFIG_ATMEL is not set
479
480#
481# Wireless 802.11b Pcmcia/Cardbus cards support
482#
483# CONFIG_AIRO_CS is not set
484# CONFIG_PCMCIA_WL3501 is not set
485# CONFIG_HOSTAP is not set
486CONFIG_NET_WIRELESS=y
487
488#
489# PCMCIA network device support
490#
491CONFIG_NET_PCMCIA=y
492# CONFIG_PCMCIA_3C589 is not set
493# CONFIG_PCMCIA_3C574 is not set
494# CONFIG_PCMCIA_FMVJ18X is not set
495CONFIG_PCMCIA_PCNET=y
496# CONFIG_PCMCIA_NMCLAN is not set
497# CONFIG_PCMCIA_SMC91C92 is not set
498# CONFIG_PCMCIA_XIRC2PS is not set
499# CONFIG_PCMCIA_AXNET is not set
500
501#
502# Wan interfaces
503#
504# CONFIG_WAN is not set
505CONFIG_PPP=m
506# CONFIG_PPP_MULTILINK is not set
507# CONFIG_PPP_FILTER is not set
508CONFIG_PPP_ASYNC=m
509# CONFIG_PPP_SYNC_TTY is not set
510# CONFIG_PPP_DEFLATE is not set
511CONFIG_PPP_BSDCOMP=m
512# CONFIG_PPPOE is not set
513# CONFIG_SLIP is not set
514# CONFIG_SHAPER is not set
515# CONFIG_NETCONSOLE is not set
516# CONFIG_NETPOLL is not set
517# CONFIG_NET_POLL_CONTROLLER is not set
518
519#
520# ISDN subsystem
521#
522# CONFIG_ISDN is not set
523
524#
525# Input device support
526#
527CONFIG_INPUT=y
528
529#
530# Userland interfaces
531#
532# CONFIG_INPUT_MOUSEDEV is not set
533# CONFIG_INPUT_JOYDEV is not set
534CONFIG_INPUT_TSDEV=y
535CONFIG_INPUT_TSDEV_SCREEN_X=240
536CONFIG_INPUT_TSDEV_SCREEN_Y=320
537CONFIG_INPUT_EVDEV=y
538CONFIG_INPUT_EVBUG=y
539
540#
541# Input Device Drivers
542#
543CONFIG_INPUT_KEYBOARD=y
544# CONFIG_KEYBOARD_ATKBD is not set
545# CONFIG_KEYBOARD_SUNKBD is not set
546# CONFIG_KEYBOARD_LKKBD is not set
547CONFIG_KEYBOARD_LOCOMO=y
548# CONFIG_KEYBOARD_XTKBD is not set
549# CONFIG_KEYBOARD_NEWTON is not set
550# CONFIG_KEYBOARD_CORGI is not set
551CONFIG_KEYBOARD_SPITZ=y
552# CONFIG_INPUT_MOUSE is not set
553# CONFIG_INPUT_JOYSTICK is not set
554# CONFIG_INPUT_TOUCHSCREEN is not set
555# CONFIG_INPUT_MISC is not set
556
557#
558# Hardware I/O ports
559#
560# CONFIG_SERIO is not set
561# CONFIG_GAMEPORT is not set
562
563#
564# Character devices
565#
566CONFIG_VT=y
567CONFIG_VT_CONSOLE=y
568CONFIG_HW_CONSOLE=y
569# CONFIG_SERIAL_NONSTANDARD is not set
570
571#
572# Serial drivers
573#
574# CONFIG_SERIAL_8250 is not set
575
576#
577# Non-8250 serial port support
578#
579CONFIG_SERIAL_PXA=y
580CONFIG_SERIAL_PXA_CONSOLE=y
581CONFIG_SERIAL_CORE=y
582CONFIG_SERIAL_CORE_CONSOLE=y
583CONFIG_UNIX98_PTYS=y
584# CONFIG_LEGACY_PTYS is not set
585
586#
587# IPMI
588#
589# CONFIG_IPMI_HANDLER is not set
590
591#
592# Watchdog Cards
593#
594# CONFIG_WATCHDOG is not set
595# CONFIG_NVRAM is not set
596# CONFIG_RTC is not set
597# CONFIG_DTLK is not set
598# CONFIG_R3964 is not set
599
600#
601# Ftape, the floppy tape device driver
602#
603
604#
605# PCMCIA character devices
606#
607# CONFIG_SYNCLINK_CS is not set
608# CONFIG_RAW_DRIVER is not set
609
610#
611# TPM devices
612#
613
614#
615# I2C support
616#
617CONFIG_I2C=y
618# CONFIG_I2C_CHARDEV is not set
619
620#
621# I2C Algorithms
622#
623CONFIG_I2C_ALGOBIT=y
624# CONFIG_I2C_ALGOPCF is not set
625# CONFIG_I2C_ALGOPCA is not set
626
627#
628# I2C Hardware Bus support
629#
630# CONFIG_I2C_PXA is not set
631# CONFIG_I2C_PARPORT_LIGHT is not set
632# CONFIG_I2C_STUB is not set
633# CONFIG_I2C_PCA_ISA is not set
634
635#
636# Miscellaneous I2C Chip support
637#
638# CONFIG_SENSORS_DS1337 is not set
639# CONFIG_SENSORS_DS1374 is not set
640# CONFIG_SENSORS_EEPROM is not set
641# CONFIG_SENSORS_PCF8574 is not set
642# CONFIG_SENSORS_PCA9539 is not set
643# CONFIG_SENSORS_PCF8591 is not set
644# CONFIG_SENSORS_RTC8564 is not set
645# CONFIG_SENSORS_MAX6875 is not set
646CONFIG_I2C_DEBUG_CORE=y
647CONFIG_I2C_DEBUG_ALGO=y
648CONFIG_I2C_DEBUG_BUS=y
649# CONFIG_I2C_DEBUG_CHIP is not set
650
651#
652# Hardware Monitoring support
653#
654CONFIG_HWMON=y
655# CONFIG_HWMON_VID is not set
656# CONFIG_SENSORS_ADM1021 is not set
657# CONFIG_SENSORS_ADM1025 is not set
658# CONFIG_SENSORS_ADM1026 is not set
659# CONFIG_SENSORS_ADM1031 is not set
660# CONFIG_SENSORS_ADM9240 is not set
661# CONFIG_SENSORS_ASB100 is not set
662# CONFIG_SENSORS_ATXP1 is not set
663# CONFIG_SENSORS_DS1621 is not set
664# CONFIG_SENSORS_FSCHER is not set
665# CONFIG_SENSORS_FSCPOS is not set
666# CONFIG_SENSORS_GL518SM is not set
667# CONFIG_SENSORS_GL520SM is not set
668# CONFIG_SENSORS_IT87 is not set
669# CONFIG_SENSORS_LM63 is not set
670# CONFIG_SENSORS_LM75 is not set
671# CONFIG_SENSORS_LM77 is not set
672# CONFIG_SENSORS_LM78 is not set
673# CONFIG_SENSORS_LM80 is not set
674# CONFIG_SENSORS_LM83 is not set
675# CONFIG_SENSORS_LM85 is not set
676# CONFIG_SENSORS_LM87 is not set
677# CONFIG_SENSORS_LM90 is not set
678# CONFIG_SENSORS_LM92 is not set
679# CONFIG_SENSORS_MAX1619 is not set
680# CONFIG_SENSORS_PC87360 is not set
681# CONFIG_SENSORS_SMSC47M1 is not set
682# CONFIG_SENSORS_SMSC47B397 is not set
683# CONFIG_SENSORS_W83781D is not set
684# CONFIG_SENSORS_W83792D is not set
685# CONFIG_SENSORS_W83L785TS is not set
686# CONFIG_SENSORS_W83627HF is not set
687# CONFIG_SENSORS_W83627EHF is not set
688# CONFIG_HWMON_DEBUG_CHIP is not set
689
690#
691# Misc devices
692#
693
694#
695# Multimedia Capabilities Port drivers
696#
697
698#
699# Multimedia devices
700#
701CONFIG_VIDEO_DEV=m
702
703#
704# Video For Linux
705#
706
707#
708# Video Adapters
709#
710# CONFIG_VIDEO_CPIA is not set
711# CONFIG_VIDEO_SAA5246A is not set
712# CONFIG_VIDEO_SAA5249 is not set
713# CONFIG_TUNER_3036 is not set
714# CONFIG_VIDEO_OVCAMCHIP is not set
715
716#
717# Radio Adapters
718#
719# CONFIG_RADIO_MAESTRO is not set
720
721#
722# Digital Video Broadcasting Devices
723#
724# CONFIG_DVB is not set
725
726#
727# Graphics support
728#
729CONFIG_FB=y
730CONFIG_FB_CFB_FILLRECT=y
731CONFIG_FB_CFB_COPYAREA=y
732CONFIG_FB_CFB_IMAGEBLIT=y
733CONFIG_FB_SOFT_CURSOR=y
734# CONFIG_FB_MACMODES is not set
735CONFIG_FB_MODE_HELPERS=y
736# CONFIG_FB_TILEBLITTING is not set
737CONFIG_FB_PXA=y
738# CONFIG_FB_W100 is not set
739# CONFIG_FB_PXA_PARAMETERS is not set
740# CONFIG_FB_S1D13XXX is not set
741# CONFIG_FB_VIRTUAL is not set
742
743#
744# Console display driver support
745#
746# CONFIG_VGA_CONSOLE is not set
747CONFIG_DUMMY_CONSOLE=y
748CONFIG_FRAMEBUFFER_CONSOLE=y
749CONFIG_FONTS=y
750CONFIG_FONT_8x8=y
751# CONFIG_FONT_8x16 is not set
752# CONFIG_FONT_6x11 is not set
753# CONFIG_FONT_7x14 is not set
754# CONFIG_FONT_PEARL_8x8 is not set
755# CONFIG_FONT_ACORN_8x8 is not set
756# CONFIG_FONT_MINI_4x6 is not set
757# CONFIG_FONT_SUN8x16 is not set
758# CONFIG_FONT_SUN12x22 is not set
759# CONFIG_FONT_10x18 is not set
760
761#
762# Logo configuration
763#
764# CONFIG_LOGO is not set
765# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
766
767#
768# Sound
769#
770# CONFIG_SOUND is not set
771
772#
773# USB support
774#
775CONFIG_USB_ARCH_HAS_HCD=y
776# CONFIG_USB_ARCH_HAS_OHCI is not set
777# CONFIG_USB is not set
778
779#
780# USB Gadget Support
781#
782CONFIG_USB_GADGET=y
783# CONFIG_USB_GADGET_DEBUG_FILES is not set
784CONFIG_USB_GADGET_SELECTED=y
785# CONFIG_USB_GADGET_NET2280 is not set
786CONFIG_USB_GADGET_PXA2XX=y
787CONFIG_USB_PXA2XX=y
788# CONFIG_USB_PXA2XX_SMALL is not set
789# CONFIG_USB_GADGET_GOKU is not set
790# CONFIG_USB_GADGET_LH7A40X is not set
791# CONFIG_USB_GADGET_OMAP is not set
792# CONFIG_USB_GADGET_DUMMY_HCD is not set
793# CONFIG_USB_GADGET_DUALSPEED is not set
794# CONFIG_USB_ZERO is not set
795CONFIG_USB_ETH=y
796CONFIG_USB_ETH_RNDIS=y
797# CONFIG_USB_GADGETFS is not set
798# CONFIG_USB_FILE_STORAGE is not set
799# CONFIG_USB_G_SERIAL is not set
800
801#
802# MMC/SD Card support
803#
804CONFIG_MMC=y
805CONFIG_MMC_DEBUG=y
806CONFIG_MMC_BLOCK=y
807CONFIG_MMC_PXA=y
808# CONFIG_MMC_WBSD is not set
809
810#
811# File systems
812#
813CONFIG_EXT2_FS=y
814CONFIG_EXT2_FS_XATTR=y
815CONFIG_EXT2_FS_POSIX_ACL=y
816CONFIG_EXT2_FS_SECURITY=y
817# CONFIG_EXT2_FS_XIP is not set
818# CONFIG_EXT3_FS is not set
819# CONFIG_JBD is not set
820CONFIG_FS_MBCACHE=y
821# CONFIG_REISERFS_FS is not set
822# CONFIG_JFS_FS is not set
823CONFIG_FS_POSIX_ACL=y
824# CONFIG_XFS_FS is not set
825# CONFIG_MINIX_FS is not set
826# CONFIG_ROMFS_FS is not set
827CONFIG_INOTIFY=y
828# CONFIG_QUOTA is not set
829CONFIG_DNOTIFY=y
830# CONFIG_AUTOFS_FS is not set
831# CONFIG_AUTOFS4_FS is not set
832# CONFIG_FUSE_FS is not set
833
834#
835# CD-ROM/DVD Filesystems
836#
837# CONFIG_ISO9660_FS is not set
838# CONFIG_UDF_FS is not set
839
840#
841# DOS/FAT/NT Filesystems
842#
843CONFIG_FAT_FS=y
844CONFIG_MSDOS_FS=y
845CONFIG_VFAT_FS=y
846CONFIG_FAT_DEFAULT_CODEPAGE=437
847CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
848# CONFIG_NTFS_FS is not set
849
850#
851# Pseudo filesystems
852#
853CONFIG_PROC_FS=y
854CONFIG_SYSFS=y
855CONFIG_TMPFS=y
856# CONFIG_HUGETLB_PAGE is not set
857CONFIG_RAMFS=y
858# CONFIG_RELAYFS_FS is not set
859
860#
861# Miscellaneous filesystems
862#
863# CONFIG_ADFS_FS is not set
864# CONFIG_AFFS_FS is not set
865# CONFIG_HFS_FS is not set
866# CONFIG_HFSPLUS_FS is not set
867# CONFIG_BEFS_FS is not set
868# CONFIG_BFS_FS is not set
869# CONFIG_EFS_FS is not set
870# CONFIG_JFFS_FS is not set
871CONFIG_JFFS2_FS=y
872CONFIG_JFFS2_FS_DEBUG=0
873CONFIG_JFFS2_FS_WRITEBUFFER=y
874CONFIG_JFFS2_COMPRESSION_OPTIONS=y
875CONFIG_JFFS2_ZLIB=y
876CONFIG_JFFS2_RTIME=y
877CONFIG_JFFS2_RUBIN=y
878# CONFIG_JFFS2_CMODE_NONE is not set
879CONFIG_JFFS2_CMODE_PRIORITY=y
880# CONFIG_JFFS2_CMODE_SIZE is not set
881CONFIG_CRAMFS=m
882# CONFIG_VXFS_FS is not set
883# CONFIG_HPFS_FS is not set
884# CONFIG_QNX4FS_FS is not set
885# CONFIG_SYSV_FS is not set
886# CONFIG_UFS_FS is not set
887
888#
889# Network File Systems
890#
891# CONFIG_NFS_FS is not set
892# CONFIG_NFSD is not set
893# CONFIG_SMB_FS is not set
894# CONFIG_CIFS is not set
895# CONFIG_NCP_FS is not set
896# CONFIG_CODA_FS is not set
897# CONFIG_AFS_FS is not set
898# CONFIG_9P_FS is not set
899
900#
901# Partition Types
902#
903CONFIG_PARTITION_ADVANCED=y
904# CONFIG_ACORN_PARTITION is not set
905# CONFIG_OSF_PARTITION is not set
906# CONFIG_AMIGA_PARTITION is not set
907# CONFIG_ATARI_PARTITION is not set
908# CONFIG_MAC_PARTITION is not set
909CONFIG_MSDOS_PARTITION=y
910# CONFIG_BSD_DISKLABEL is not set
911# CONFIG_MINIX_SUBPARTITION is not set
912# CONFIG_SOLARIS_X86_PARTITION is not set
913# CONFIG_UNIXWARE_DISKLABEL is not set
914# CONFIG_LDM_PARTITION is not set
915# CONFIG_SGI_PARTITION is not set
916# CONFIG_ULTRIX_PARTITION is not set
917# CONFIG_SUN_PARTITION is not set
918# CONFIG_EFI_PARTITION is not set
919
920#
921# Native Language Support
922#
923CONFIG_NLS=y
924CONFIG_NLS_DEFAULT="cp437"
925CONFIG_NLS_CODEPAGE_437=y
926# CONFIG_NLS_CODEPAGE_737 is not set
927# CONFIG_NLS_CODEPAGE_775 is not set
928# CONFIG_NLS_CODEPAGE_850 is not set
929# CONFIG_NLS_CODEPAGE_852 is not set
930# CONFIG_NLS_CODEPAGE_855 is not set
931# CONFIG_NLS_CODEPAGE_857 is not set
932# CONFIG_NLS_CODEPAGE_860 is not set
933# CONFIG_NLS_CODEPAGE_861 is not set
934# CONFIG_NLS_CODEPAGE_862 is not set
935# CONFIG_NLS_CODEPAGE_863 is not set
936# CONFIG_NLS_CODEPAGE_864 is not set
937# CONFIG_NLS_CODEPAGE_865 is not set
938# CONFIG_NLS_CODEPAGE_866 is not set
939# CONFIG_NLS_CODEPAGE_869 is not set
940# CONFIG_NLS_CODEPAGE_936 is not set
941# CONFIG_NLS_CODEPAGE_950 is not set
942# CONFIG_NLS_CODEPAGE_932 is not set
943# CONFIG_NLS_CODEPAGE_949 is not set
944# CONFIG_NLS_CODEPAGE_874 is not set
945# CONFIG_NLS_ISO8859_8 is not set
946# CONFIG_NLS_CODEPAGE_1250 is not set
947# CONFIG_NLS_CODEPAGE_1251 is not set
948CONFIG_NLS_ASCII=y
949CONFIG_NLS_ISO8859_1=y
950# CONFIG_NLS_ISO8859_2 is not set
951# CONFIG_NLS_ISO8859_3 is not set
952# CONFIG_NLS_ISO8859_4 is not set
953# CONFIG_NLS_ISO8859_5 is not set
954# CONFIG_NLS_ISO8859_6 is not set
955# CONFIG_NLS_ISO8859_7 is not set
956# CONFIG_NLS_ISO8859_9 is not set
957# CONFIG_NLS_ISO8859_13 is not set
958# CONFIG_NLS_ISO8859_14 is not set
959# CONFIG_NLS_ISO8859_15 is not set
960# CONFIG_NLS_KOI8_R is not set
961# CONFIG_NLS_KOI8_U is not set
962CONFIG_NLS_UTF8=y
963
964#
965# Profiling support
966#
967# CONFIG_PROFILING is not set
968
969#
970# Kernel hacking
971#
972# CONFIG_PRINTK_TIME is not set
973CONFIG_DEBUG_KERNEL=y
974CONFIG_MAGIC_SYSRQ=y
975CONFIG_LOG_BUF_SHIFT=14
976CONFIG_DETECT_SOFTLOCKUP=y
977# CONFIG_SCHEDSTATS is not set
978# CONFIG_DEBUG_SLAB is not set
979CONFIG_DEBUG_PREEMPT=y
980# CONFIG_DEBUG_SPINLOCK is not set
981# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
982# CONFIG_DEBUG_KOBJECT is not set
983# CONFIG_DEBUG_BUGVERBOSE is not set
984# CONFIG_DEBUG_INFO is not set
985# CONFIG_DEBUG_FS is not set
986CONFIG_FRAME_POINTER=y
987# CONFIG_DEBUG_USER is not set
988# CONFIG_DEBUG_WAITQ is not set
989CONFIG_DEBUG_ERRORS=y
990# CONFIG_DEBUG_LL is not set
991
992#
993# Security options
994#
995# CONFIG_KEYS is not set
996# CONFIG_SECURITY is not set
997
998#
999# Cryptographic options
1000#
1001# CONFIG_CRYPTO is not set
1002
1003#
1004# Hardware crypto devices
1005#
1006
1007#
1008# Library routines
1009#
1010CONFIG_CRC_CCITT=y
1011# CONFIG_CRC16 is not set
1012CONFIG_CRC32=y
1013# CONFIG_LIBCRC32C is not set
1014CONFIG_ZLIB_INFLATE=y
1015CONFIG_ZLIB_DEFLATE=y
diff --git a/arch/arm/configs/spitz_defconfig b/arch/arm/configs/spitz_defconfig
index 900e04f8e38c..18e9beaec465 100644
--- a/arch/arm/configs/spitz_defconfig
+++ b/arch/arm/configs/spitz_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.14-rc3 3# Linux kernel version: 2.6.15-rc2
4# Sun Oct 9 17:11:19 2005 4# Mon Nov 28 10:26:52 2005
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_MMU=y 7CONFIG_MMU=y
@@ -64,6 +64,23 @@ CONFIG_OBSOLETE_MODPARM=y
64CONFIG_KMOD=y 64CONFIG_KMOD=y
65 65
66# 66#
67# Block layer
68#
69
70#
71# IO Schedulers
72#
73CONFIG_IOSCHED_NOOP=y
74CONFIG_IOSCHED_AS=y
75CONFIG_IOSCHED_DEADLINE=y
76CONFIG_IOSCHED_CFQ=y
77CONFIG_DEFAULT_AS=y
78# CONFIG_DEFAULT_DEADLINE is not set
79# CONFIG_DEFAULT_CFQ is not set
80# CONFIG_DEFAULT_NOOP is not set
81CONFIG_DEFAULT_IOSCHED="anticipatory"
82
83#
67# System Type 84# System Type
68# 85#
69# CONFIG_ARCH_CLPS7500 is not set 86# CONFIG_ARCH_CLPS7500 is not set
@@ -85,6 +102,7 @@ CONFIG_ARCH_PXA=y
85# CONFIG_ARCH_LH7A40X is not set 102# CONFIG_ARCH_LH7A40X is not set
86# CONFIG_ARCH_OMAP is not set 103# CONFIG_ARCH_OMAP is not set
87# CONFIG_ARCH_VERSATILE is not set 104# CONFIG_ARCH_VERSATILE is not set
105# CONFIG_ARCH_REALVIEW is not set
88# CONFIG_ARCH_IMX is not set 106# CONFIG_ARCH_IMX is not set
89# CONFIG_ARCH_H720X is not set 107# CONFIG_ARCH_H720X is not set
90# CONFIG_ARCH_AAEC2000 is not set 108# CONFIG_ARCH_AAEC2000 is not set
@@ -98,10 +116,13 @@ CONFIG_ARCH_PXA=y
98CONFIG_PXA_SHARPSL=y 116CONFIG_PXA_SHARPSL=y
99# CONFIG_PXA_SHARPSL_25x is not set 117# CONFIG_PXA_SHARPSL_25x is not set
100CONFIG_PXA_SHARPSL_27x=y 118CONFIG_PXA_SHARPSL_27x=y
119CONFIG_MACH_AKITA=y
101CONFIG_MACH_SPITZ=y 120CONFIG_MACH_SPITZ=y
102CONFIG_MACH_BORZOI=y 121CONFIG_MACH_BORZOI=y
103CONFIG_PXA27x=y 122CONFIG_PXA27x=y
123CONFIG_IWMMXT=y
104CONFIG_PXA_SHARP_Cxx00=y 124CONFIG_PXA_SHARP_Cxx00=y
125CONFIG_PXA_SSP=y
105 126
106# 127#
107# Processor Type 128# Processor Type
@@ -153,6 +174,7 @@ CONFIG_FLATMEM_MANUAL=y
153CONFIG_FLATMEM=y 174CONFIG_FLATMEM=y
154CONFIG_FLAT_NODE_MEM_MAP=y 175CONFIG_FLAT_NODE_MEM_MAP=y
155# CONFIG_SPARSEMEM_STATIC is not set 176# CONFIG_SPARSEMEM_STATIC is not set
177CONFIG_SPLIT_PTLOCK_CPUS=4096
156CONFIG_ALIGNMENT_TRAP=y 178CONFIG_ALIGNMENT_TRAP=y
157 179
158# 180#
@@ -233,6 +255,10 @@ CONFIG_INET6_TUNNEL=m
233CONFIG_IPV6_TUNNEL=m 255CONFIG_IPV6_TUNNEL=m
234CONFIG_NETFILTER=y 256CONFIG_NETFILTER=y
235# CONFIG_NETFILTER_DEBUG is not set 257# CONFIG_NETFILTER_DEBUG is not set
258
259#
260# Core Netfilter Configuration
261#
236# CONFIG_NETFILTER_NETLINK is not set 262# CONFIG_NETFILTER_NETLINK is not set
237 263
238# 264#
@@ -354,6 +380,10 @@ CONFIG_IP6_NF_RAW=m
354# CONFIG_NET_DIVERT is not set 380# CONFIG_NET_DIVERT is not set
355# CONFIG_ECONET is not set 381# CONFIG_ECONET is not set
356# CONFIG_WAN_ROUTER is not set 382# CONFIG_WAN_ROUTER is not set
383
384#
385# QoS and/or fair queueing
386#
357# CONFIG_NET_SCHED is not set 387# CONFIG_NET_SCHED is not set
358CONFIG_NET_CLS_ROUTE=y 388CONFIG_NET_CLS_ROUTE=y
359 389
@@ -411,6 +441,7 @@ CONFIG_IRCOMM=m
411# CONFIG_SMC_IRCC_FIR is not set 441# CONFIG_SMC_IRCC_FIR is not set
412# CONFIG_ALI_FIR is not set 442# CONFIG_ALI_FIR is not set
413# CONFIG_VIA_FIR is not set 443# CONFIG_VIA_FIR is not set
444CONFIG_PXA_FICP=m
414CONFIG_BT=m 445CONFIG_BT=m
415CONFIG_BT_L2CAP=m 446CONFIG_BT_L2CAP=m
416CONFIG_BT_SCO=m 447CONFIG_BT_SCO=m
@@ -429,7 +460,6 @@ CONFIG_BT_HCIUSB=m
429CONFIG_BT_HCIUART=m 460CONFIG_BT_HCIUART=m
430CONFIG_BT_HCIUART_H4=y 461CONFIG_BT_HCIUART_H4=y
431CONFIG_BT_HCIUART_BCSP=y 462CONFIG_BT_HCIUART_BCSP=y
432CONFIG_BT_HCIUART_BCSP_TXCRC=y
433CONFIG_BT_HCIBCM203X=m 463CONFIG_BT_HCIBCM203X=m
434CONFIG_BT_HCIBPA10X=m 464CONFIG_BT_HCIBPA10X=m
435CONFIG_BT_HCIBFUSB=m 465CONFIG_BT_HCIBFUSB=m
@@ -457,6 +487,11 @@ CONFIG_FW_LOADER=y
457# CONFIG_DEBUG_DRIVER is not set 487# CONFIG_DEBUG_DRIVER is not set
458 488
459# 489#
490# Connector - unified userspace <-> kernelspace linker
491#
492# CONFIG_CONNECTOR is not set
493
494#
460# Memory Technology Devices (MTD) 495# Memory Technology Devices (MTD)
461# 496#
462CONFIG_MTD=y 497CONFIG_MTD=y
@@ -475,6 +510,7 @@ CONFIG_MTD_BLOCK=y
475# CONFIG_FTL is not set 510# CONFIG_FTL is not set
476# CONFIG_NFTL is not set 511# CONFIG_NFTL is not set
477# CONFIG_INFTL is not set 512# CONFIG_INFTL is not set
513# CONFIG_RFD_FTL is not set
478 514
479# 515#
480# RAM/ROM/Flash chip drivers 516# RAM/ROM/Flash chip drivers
@@ -530,6 +566,11 @@ CONFIG_MTD_NAND_SHARPSL=y
530# CONFIG_MTD_NAND_NANDSIM is not set 566# CONFIG_MTD_NAND_NANDSIM is not set
531 567
532# 568#
569# OneNAND Flash Device Drivers
570#
571# CONFIG_MTD_ONENAND is not set
572
573#
533# Parallel port support 574# Parallel port support
534# 575#
535# CONFIG_PARPORT is not set 576# CONFIG_PARPORT is not set
@@ -549,14 +590,6 @@ CONFIG_BLK_DEV_LOOP=y
549# CONFIG_BLK_DEV_RAM is not set 590# CONFIG_BLK_DEV_RAM is not set
550CONFIG_BLK_DEV_RAM_COUNT=16 591CONFIG_BLK_DEV_RAM_COUNT=16
551# CONFIG_CDROM_PKTCDVD is not set 592# CONFIG_CDROM_PKTCDVD is not set
552
553#
554# IO Schedulers
555#
556CONFIG_IOSCHED_NOOP=y
557CONFIG_IOSCHED_AS=y
558CONFIG_IOSCHED_DEADLINE=y
559CONFIG_IOSCHED_CFQ=y
560# CONFIG_ATA_OVER_ETH is not set 593# CONFIG_ATA_OVER_ETH is not set
561 594
562# 595#
@@ -623,6 +656,7 @@ CONFIG_SCSI_MULTI_LUN=y
623# 656#
624# SCSI low-level drivers 657# SCSI low-level drivers
625# 658#
659# CONFIG_ISCSI_TCP is not set
626# CONFIG_SCSI_SATA is not set 660# CONFIG_SCSI_SATA is not set
627# CONFIG_SCSI_DEBUG is not set 661# CONFIG_SCSI_DEBUG is not set
628 662
@@ -746,6 +780,7 @@ CONFIG_PPP_ASYNC=m
746# CONFIG_PPP_SYNC_TTY is not set 780# CONFIG_PPP_SYNC_TTY is not set
747# CONFIG_PPP_DEFLATE is not set 781# CONFIG_PPP_DEFLATE is not set
748CONFIG_PPP_BSDCOMP=m 782CONFIG_PPP_BSDCOMP=m
783# CONFIG_PPP_MPPE is not set
749# CONFIG_PPPOE is not set 784# CONFIG_PPPOE is not set
750# CONFIG_SLIP is not set 785# CONFIG_SLIP is not set
751# CONFIG_SHAPER is not set 786# CONFIG_SHAPER is not set
@@ -771,6 +806,7 @@ CONFIG_INPUT=y
771# CONFIG_INPUT_TSDEV is not set 806# CONFIG_INPUT_TSDEV is not set
772CONFIG_INPUT_EVDEV=y 807CONFIG_INPUT_EVDEV=y
773# CONFIG_INPUT_EVBUG is not set 808# CONFIG_INPUT_EVBUG is not set
809# CONFIG_INPUT_POWER is not set
774 810
775# 811#
776# Input Device Drivers 812# Input Device Drivers
@@ -848,11 +884,15 @@ CONFIG_UNIX98_PTYS=y
848# PCMCIA character devices 884# PCMCIA character devices
849# 885#
850# CONFIG_SYNCLINK_CS is not set 886# CONFIG_SYNCLINK_CS is not set
887# CONFIG_CARDMAN_4000 is not set
888# CONFIG_CARDMAN_4040 is not set
851# CONFIG_RAW_DRIVER is not set 889# CONFIG_RAW_DRIVER is not set
852 890
853# 891#
854# TPM devices 892# TPM devices
855# 893#
894# CONFIG_TCG_TPM is not set
895# CONFIG_TELCLOCK is not set
856 896
857# 897#
858# I2C support 898# I2C support
@@ -891,14 +931,13 @@ CONFIG_FB=y
891CONFIG_FB_CFB_FILLRECT=y 931CONFIG_FB_CFB_FILLRECT=y
892CONFIG_FB_CFB_COPYAREA=y 932CONFIG_FB_CFB_COPYAREA=y
893CONFIG_FB_CFB_IMAGEBLIT=y 933CONFIG_FB_CFB_IMAGEBLIT=y
894CONFIG_FB_SOFT_CURSOR=y
895# CONFIG_FB_MACMODES is not set 934# CONFIG_FB_MACMODES is not set
896# CONFIG_FB_MODE_HELPERS is not set 935# CONFIG_FB_MODE_HELPERS is not set
897# CONFIG_FB_TILEBLITTING is not set 936# CONFIG_FB_TILEBLITTING is not set
937# CONFIG_FB_S1D13XXX is not set
898CONFIG_FB_PXA=y 938CONFIG_FB_PXA=y
899# CONFIG_FB_W100 is not set
900# CONFIG_FB_PXA_PARAMETERS is not set 939# CONFIG_FB_PXA_PARAMETERS is not set
901# CONFIG_FB_S1D13XXX is not set 940# CONFIG_FB_W100 is not set
902# CONFIG_FB_VIRTUAL is not set 941# CONFIG_FB_VIRTUAL is not set
903 942
904# 943#
@@ -907,6 +946,7 @@ CONFIG_FB_PXA=y
907# CONFIG_VGA_CONSOLE is not set 946# CONFIG_VGA_CONSOLE is not set
908CONFIG_DUMMY_CONSOLE=y 947CONFIG_DUMMY_CONSOLE=y
909CONFIG_FRAMEBUFFER_CONSOLE=y 948CONFIG_FRAMEBUFFER_CONSOLE=y
949CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
910CONFIG_FONTS=y 950CONFIG_FONTS=y
911CONFIG_FONT_8x8=y 951CONFIG_FONT_8x8=y
912CONFIG_FONT_8x16=y 952CONFIG_FONT_8x16=y
@@ -965,15 +1005,15 @@ CONFIG_USB_SL811_CS=m
965# 1005#
966# USB Device Class drivers 1006# USB Device Class drivers
967# 1007#
1008CONFIG_USB_ACM=m
1009CONFIG_USB_PRINTER=m
968 1010
969# 1011#
970# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem 1012# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
971# 1013#
972CONFIG_USB_ACM=m
973CONFIG_USB_PRINTER=m
974 1014
975# 1015#
976# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information 1016# may also be needed; see USB_STORAGE Help for more information
977# 1017#
978CONFIG_USB_STORAGE=m 1018CONFIG_USB_STORAGE=m
979# CONFIG_USB_STORAGE_DEBUG is not set 1019# CONFIG_USB_STORAGE_DEBUG is not set
@@ -985,7 +1025,6 @@ CONFIG_USB_STORAGE=m
985# CONFIG_USB_STORAGE_SDDR09 is not set 1025# CONFIG_USB_STORAGE_SDDR09 is not set
986# CONFIG_USB_STORAGE_SDDR55 is not set 1026# CONFIG_USB_STORAGE_SDDR55 is not set
987# CONFIG_USB_STORAGE_JUMPSHOT is not set 1027# CONFIG_USB_STORAGE_JUMPSHOT is not set
988# CONFIG_USB_STORAGE_ONETOUCH is not set
989 1028
990# 1029#
991# USB Input Devices 1030# USB Input Devices
@@ -1058,6 +1097,7 @@ CONFIG_USB_MON=y
1058CONFIG_USB_SERIAL=m 1097CONFIG_USB_SERIAL=m
1059CONFIG_USB_SERIAL_GENERIC=y 1098CONFIG_USB_SERIAL_GENERIC=y
1060# CONFIG_USB_SERIAL_AIRPRIME is not set 1099# CONFIG_USB_SERIAL_AIRPRIME is not set
1100# CONFIG_USB_SERIAL_ANYDATA is not set
1061CONFIG_USB_SERIAL_BELKIN=m 1101CONFIG_USB_SERIAL_BELKIN=m
1062# CONFIG_USB_SERIAL_WHITEHEAT is not set 1102# CONFIG_USB_SERIAL_WHITEHEAT is not set
1063CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m 1103CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
@@ -1218,6 +1258,7 @@ CONFIG_RAMFS=y
1218CONFIG_JFFS2_FS=y 1258CONFIG_JFFS2_FS=y
1219CONFIG_JFFS2_FS_DEBUG=0 1259CONFIG_JFFS2_FS_DEBUG=0
1220CONFIG_JFFS2_FS_WRITEBUFFER=y 1260CONFIG_JFFS2_FS_WRITEBUFFER=y
1261CONFIG_JFFS2_SUMMARY=y
1221CONFIG_JFFS2_COMPRESSION_OPTIONS=y 1262CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1222CONFIG_JFFS2_ZLIB=y 1263CONFIG_JFFS2_ZLIB=y
1223CONFIG_JFFS2_RTIME=y 1264CONFIG_JFFS2_RTIME=y
@@ -1344,7 +1385,9 @@ CONFIG_DETECT_SOFTLOCKUP=y
1344CONFIG_DEBUG_BUGVERBOSE=y 1385CONFIG_DEBUG_BUGVERBOSE=y
1345# CONFIG_DEBUG_INFO is not set 1386# CONFIG_DEBUG_INFO is not set
1346# CONFIG_DEBUG_FS is not set 1387# CONFIG_DEBUG_FS is not set
1388# CONFIG_DEBUG_VM is not set
1347CONFIG_FRAME_POINTER=y 1389CONFIG_FRAME_POINTER=y
1390# CONFIG_RCU_TORTURE_TEST is not set
1348# CONFIG_DEBUG_USER is not set 1391# CONFIG_DEBUG_USER is not set
1349# CONFIG_DEBUG_WAITQ is not set 1392# CONFIG_DEBUG_WAITQ is not set
1350CONFIG_DEBUG_ERRORS=y 1393CONFIG_DEBUG_ERRORS=y
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index 8d8748407cbe..d7d69fd7039f 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -17,7 +17,6 @@
17 17
18#include <asm/assembler.h> 18#include <asm/assembler.h>
19#include <asm/domain.h> 19#include <asm/domain.h>
20#include <asm/mach-types.h>
21#include <asm/procinfo.h> 20#include <asm/procinfo.h>
22#include <asm/ptrace.h> 21#include <asm/ptrace.h>
23#include <asm/asm-offsets.h> 22#include <asm/asm-offsets.h>
@@ -83,7 +82,7 @@ ENTRY(stext)
83 @ and irqs disabled 82 @ and irqs disabled
84 bl __lookup_processor_type @ r5=procinfo r9=cpuid 83 bl __lookup_processor_type @ r5=procinfo r9=cpuid
85 movs r10, r5 @ invalid processor (r5=0)? 84 movs r10, r5 @ invalid processor (r5=0)?
86 beq __error_p @ yes, error 'p' 85 beq __error_p @ yes, error 'p'
87 bl __lookup_machine_type @ r5=machinfo 86 bl __lookup_machine_type @ r5=machinfo
88 movs r8, r5 @ invalid machine (r5=0)? 87 movs r8, r5 @ invalid machine (r5=0)?
89 beq __error_a @ yes, error 'a' 88 beq __error_a @ yes, error 'a'
@@ -343,16 +342,12 @@ __create_page_tables:
343 bne 1b 342 bne 1b
344#if defined(CONFIG_ARCH_NETWINDER) || defined(CONFIG_ARCH_CATS) 343#if defined(CONFIG_ARCH_NETWINDER) || defined(CONFIG_ARCH_CATS)
345 /* 344 /*
346 * If we're using the NetWinder, we need to map in 345 * If we're using the NetWinder or CATS, we also need to map
347 * the 16550-type serial port for the debug messages 346 * in the 16550-type serial port for the debug messages
348 */ 347 */
349 teq r1, #MACH_TYPE_NETWINDER
350 teqne r1, #MACH_TYPE_CATS
351 bne 1f
352 add r0, r4, #0xff000000 >> 18 348 add r0, r4, #0xff000000 >> 18
353 orr r3, r7, #0x7c000000 349 orr r3, r7, #0x7c000000
354 str r3, [r0] 350 str r3, [r0]
3551:
356#endif 351#endif
357#ifdef CONFIG_ARCH_RPC 352#ifdef CONFIG_ARCH_RPC
358 /* 353 /*
diff --git a/arch/arm/mach-clps7500/core.c b/arch/arm/mach-clps7500/core.c
index 0364ba4b539e..d869af0023f8 100644
--- a/arch/arm/mach-clps7500/core.c
+++ b/arch/arm/mach-clps7500/core.c
@@ -260,7 +260,7 @@ static void __init clps7500_init_irq(void)
260 260
261static struct map_desc cl7500_io_desc[] __initdata = { 261static struct map_desc cl7500_io_desc[] __initdata = {
262 { /* IO space */ 262 { /* IO space */
263 .virtual = IO_BASE, 263 .virtual = (unsigned long)IO_BASE,
264 .pfn = __phys_to_pfn(IO_START), 264 .pfn = __phys_to_pfn(IO_START),
265 .length = IO_SIZE, 265 .length = IO_SIZE,
266 .type = MT_DEVICE 266 .type = MT_DEVICE
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index cd506646801a..526acbc32067 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -44,6 +44,7 @@ config PXA_SHARPSL_25x
44config PXA_SHARPSL_27x 44config PXA_SHARPSL_27x
45 bool "Sharp PXA270 models (SL-Cxx00)" 45 bool "Sharp PXA270 models (SL-Cxx00)"
46 select PXA27x 46 select PXA27x
47 select IWMMXT
47 48
48endchoice 49endchoice
49 50
@@ -60,7 +61,6 @@ config MACH_CORGI
60 bool "Enable Sharp SL-C700 (Corgi) Support" 61 bool "Enable Sharp SL-C700 (Corgi) Support"
61 depends PXA_SHARPSL_25x 62 depends PXA_SHARPSL_25x
62 select PXA_SHARP_C7xx 63 select PXA_SHARP_C7xx
63 select PXA_SSP
64 64
65config MACH_SHEPHERD 65config MACH_SHEPHERD
66 bool "Enable Sharp SL-C750 (Shepherd) Support" 66 bool "Enable Sharp SL-C750 (Shepherd) Support"
@@ -90,7 +90,7 @@ config MACH_BORZOI
90 90
91config MACH_TOSA 91config MACH_TOSA
92 bool "Enable Sharp SL-6000x (Tosa) Support" 92 bool "Enable Sharp SL-6000x (Tosa) Support"
93 depends PXA_SHARPSL 93 depends PXA_SHARPSL_25x
94 94
95config PXA25x 95config PXA25x
96 bool 96 bool
diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c
index c312054dfb88..e4f92efc616e 100644
--- a/arch/arm/mach-pxa/tosa.c
+++ b/arch/arm/mach-pxa/tosa.c
@@ -14,7 +14,7 @@
14 14
15#include <linux/kernel.h> 15#include <linux/kernel.h>
16#include <linux/init.h> 16#include <linux/init.h>
17#include <linux/device.h> 17#include <linux/platform_device.h>
18#include <linux/major.h> 18#include <linux/major.h>
19#include <linux/fs.h> 19#include <linux/fs.h>
20#include <linux/interrupt.h> 20#include <linux/interrupt.h>
diff --git a/arch/arm/mach-realview/core.c b/arch/arm/mach-realview/core.c
index e2c6fa23d3cd..af6580f1ceb8 100644
--- a/arch/arm/mach-realview/core.c
+++ b/arch/arm/mach-realview/core.c
@@ -30,7 +30,6 @@
30#include <asm/io.h> 30#include <asm/io.h>
31#include <asm/irq.h> 31#include <asm/irq.h>
32#include <asm/leds.h> 32#include <asm/leds.h>
33#include <asm/mach-types.h>
34#include <asm/hardware/amba.h> 33#include <asm/hardware/amba.h>
35#include <asm/hardware/amba_clcd.h> 34#include <asm/hardware/amba_clcd.h>
36#include <asm/hardware/arm_timer.h> 35#include <asm/hardware/arm_timer.h>
diff --git a/arch/arm/mach-sa1100/assabet.c b/arch/arm/mach-sa1100/assabet.c
index 75efb5da5b6d..a66ac61233a2 100644
--- a/arch/arm/mach-sa1100/assabet.c
+++ b/arch/arm/mach-sa1100/assabet.c
@@ -293,7 +293,8 @@ static void __init get_assabet_scr(void)
293 GPDR |= 0x3fc; /* Configure GPIO 9:2 as outputs */ 293 GPDR |= 0x3fc; /* Configure GPIO 9:2 as outputs */
294 GPSR = 0x3fc; /* Write 0xFF to GPIO 9:2 */ 294 GPSR = 0x3fc; /* Write 0xFF to GPIO 9:2 */
295 GPDR &= ~(0x3fc); /* Configure GPIO 9:2 as inputs */ 295 GPDR &= ~(0x3fc); /* Configure GPIO 9:2 as inputs */
296 for(i = 100; i--; scr = GPLR); /* Read GPIO 9:2 */ 296 for(i = 100; i--; ) /* Read GPIO 9:2 */
297 scr = GPLR;
297 GPDR |= 0x3fc; /* restore correct pin direction */ 298 GPDR |= 0x3fc; /* restore correct pin direction */
298 scr &= 0x3fc; /* save as system configuration byte. */ 299 scr &= 0x3fc; /* save as system configuration byte. */
299 SCR_value = scr; 300 SCR_value = scr;
diff --git a/arch/arm/mm/consistent.c b/arch/arm/mm/consistent.c
index 47b0b767f080..dbfe9e891f01 100644
--- a/arch/arm/mm/consistent.c
+++ b/arch/arm/mm/consistent.c
@@ -66,6 +66,7 @@ struct vm_region {
66 unsigned long vm_start; 66 unsigned long vm_start;
67 unsigned long vm_end; 67 unsigned long vm_end;
68 struct page *vm_pages; 68 struct page *vm_pages;
69 int vm_active;
69}; 70};
70 71
71static struct vm_region consistent_head = { 72static struct vm_region consistent_head = {
@@ -104,6 +105,7 @@ vm_region_alloc(struct vm_region *head, size_t size, gfp_t gfp)
104 list_add_tail(&new->vm_list, &c->vm_list); 105 list_add_tail(&new->vm_list, &c->vm_list);
105 new->vm_start = addr; 106 new->vm_start = addr;
106 new->vm_end = addr + size; 107 new->vm_end = addr + size;
108 new->vm_active = 1;
107 109
108 spin_unlock_irqrestore(&consistent_lock, flags); 110 spin_unlock_irqrestore(&consistent_lock, flags);
109 return new; 111 return new;
@@ -120,7 +122,7 @@ static struct vm_region *vm_region_find(struct vm_region *head, unsigned long ad
120 struct vm_region *c; 122 struct vm_region *c;
121 123
122 list_for_each_entry(c, &head->vm_list, vm_list) { 124 list_for_each_entry(c, &head->vm_list, vm_list) {
123 if (c->vm_start == addr) 125 if (c->vm_active && c->vm_start == addr)
124 goto out; 126 goto out;
125 } 127 }
126 c = NULL; 128 c = NULL;
@@ -319,6 +321,7 @@ EXPORT_SYMBOL(dma_mmap_writecombine);
319 321
320/* 322/*
321 * free a page as defined by the above mapping. 323 * free a page as defined by the above mapping.
324 * Must not be called with IRQs disabled.
322 */ 325 */
323void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, dma_addr_t handle) 326void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, dma_addr_t handle)
324{ 327{
@@ -326,14 +329,18 @@ void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, dma_addr
326 unsigned long flags, addr; 329 unsigned long flags, addr;
327 pte_t *ptep; 330 pte_t *ptep;
328 331
332 WARN_ON(irqs_disabled());
333
329 size = PAGE_ALIGN(size); 334 size = PAGE_ALIGN(size);
330 335
331 spin_lock_irqsave(&consistent_lock, flags); 336 spin_lock_irqsave(&consistent_lock, flags);
332
333 c = vm_region_find(&consistent_head, (unsigned long)cpu_addr); 337 c = vm_region_find(&consistent_head, (unsigned long)cpu_addr);
334 if (!c) 338 if (!c)
335 goto no_area; 339 goto no_area;
336 340
341 c->vm_active = 0;
342 spin_unlock_irqrestore(&consistent_lock, flags);
343
337 if ((c->vm_end - c->vm_start) != size) { 344 if ((c->vm_end - c->vm_start) != size) {
338 printk(KERN_ERR "%s: freeing wrong coherent size (%ld != %d)\n", 345 printk(KERN_ERR "%s: freeing wrong coherent size (%ld != %d)\n",
339 __func__, c->vm_end - c->vm_start, size); 346 __func__, c->vm_end - c->vm_start, size);
@@ -372,8 +379,8 @@ void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, dma_addr
372 379
373 flush_tlb_kernel_range(c->vm_start, c->vm_end); 380 flush_tlb_kernel_range(c->vm_start, c->vm_end);
374 381
382 spin_lock_irqsave(&consistent_lock, flags);
375 list_del(&c->vm_list); 383 list_del(&c->vm_list);
376
377 spin_unlock_irqrestore(&consistent_lock, flags); 384 spin_unlock_irqrestore(&consistent_lock, flags);
378 385
379 kfree(c); 386 kfree(c);
diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types
index 048c9c19aa4f..465487470d0e 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: Fri Nov 11 21:55:04 2005 15# Last update: Fri Nov 25 14:43:04 2005
16# 16#
17# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number 17# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number
18# 18#
@@ -857,12 +857,12 @@ osiris MACH_OSIRIS OSIRIS 842
857maestro MACH_MAESTRO MAESTRO 843 857maestro MACH_MAESTRO MAESTRO 843
858tunge2 MACH_TUNGE2 TUNGE2 844 858tunge2 MACH_TUNGE2 TUNGE2 844
859ixbbm MACH_IXBBM IXBBM 845 859ixbbm MACH_IXBBM IXBBM 845
860mx27 MACH_MX27 MX27 846 860mx27ads MACH_MX27 MX27 846
861ax8004 MACH_AX8004 AX8004 847 861ax8004 MACH_AX8004 AX8004 847
862at91sam9261ek MACH_AT91SAM9261EK AT91SAM9261EK 848 862at91sam9261ek MACH_AT91SAM9261EK AT91SAM9261EK 848
863loft MACH_LOFT LOFT 849 863loft MACH_LOFT LOFT 849
864magpie MACH_MAGPIE MAGPIE 850 864magpie MACH_MAGPIE MAGPIE 850
865mx21 MACH_MX21 MX21 851 865mx21ads MACH_MX21 MX21 851
866mb87m3400 MACH_MB87M3400 MB87M3400 852 866mb87m3400 MACH_MB87M3400 MB87M3400 852
867mguard_delta MACH_MGUARD_DELTA MGUARD_DELTA 853 867mguard_delta MACH_MGUARD_DELTA MGUARD_DELTA 853
868davinci_dvdp MACH_DAVINCI_DVDP DAVINCI_DVDP 854 868davinci_dvdp MACH_DAVINCI_DVDP DAVINCI_DVDP 854
@@ -897,10 +897,16 @@ omi_board MACH_OMI_BOARD OMI_BOARD 882
897mx21civ MACH_MX21CIV MX21CIV 883 897mx21civ MACH_MX21CIV MX21CIV 883
898mahi_cdac MACH_MAHI_CDAC MAHI_CDAC 884 898mahi_cdac MACH_MAHI_CDAC MAHI_CDAC 884
899xscale_palmtx MACH_XSCALE_PALMTX XSCALE_PALMTX 885 899xscale_palmtx MACH_XSCALE_PALMTX XSCALE_PALMTX 885
900arch_s3c2413 MACH_ARCH_S3C2413 ARCH_S3C2413 886
901s3c2413 MACH_S3C2413 S3C2413 887 900s3c2413 MACH_S3C2413 S3C2413 887
902samsys_ep0 MACH_SAMSYS_EP0 SAMSYS_EP0 888 901samsys_ep0 MACH_SAMSYS_EP0 SAMSYS_EP0 888
903wg302v1 MACH_WG302V1 WG302V1 889 902wg302v1 MACH_WG302V1 WG302V1 889
904wg302v2 MACH_WG302V2 WG302V2 890 903wg302v2 MACH_WG302V2 WG302V2 890
905eb42x MACH_EB42X EB42X 891 904eb42x MACH_EB42X EB42X 891
906iq331es MACH_IQ331ES IQ331ES 892 905iq331es MACH_IQ331ES IQ331ES 892
906cosydsp MACH_COSYDSP COSYDSP 893
907uplat7d MACH_UPLAT7D UPLAT7D 894
908ptdavinci MACH_PTDAVINCI PTDAVINCI 895
909mbus MACH_MBUS MBUS 896
910nadia2vb MACH_NADIA2VB NADIA2VB 897
911r1000 MACH_R1000 R1000 898
912hw90250 MACH_HW90250 HW90250 899
diff --git a/arch/frv/kernel/semaphore.c b/arch/frv/kernel/semaphore.c
index 5cba9c1f2b3d..7971d680ae29 100644
--- a/arch/frv/kernel/semaphore.c
+++ b/arch/frv/kernel/semaphore.c
@@ -20,7 +20,7 @@ struct sem_waiter {
20 struct task_struct *task; 20 struct task_struct *task;
21}; 21};
22 22
23#if SEM_DEBUG 23#if SEMAPHORE_DEBUG
24void semtrace(struct semaphore *sem, const char *str) 24void semtrace(struct semaphore *sem, const char *str)
25{ 25{
26 if (sem->debug) 26 if (sem->debug)
diff --git a/arch/frv/mb93090-mb00/pci-irq.c b/arch/frv/mb93090-mb00/pci-irq.c
index af981bda015c..24622d89b1ca 100644
--- a/arch/frv/mb93090-mb00/pci-irq.c
+++ b/arch/frv/mb93090-mb00/pci-irq.c
@@ -60,7 +60,7 @@ void __init pcibios_fixup_irqs(void)
60 } 60 }
61} 61}
62 62
63void __init pcibios_penalize_isa_irq(int irq, int active) 63void __init pcibios_penalize_isa_irq(int irq)
64{ 64{
65} 65}
66 66
diff --git a/arch/frv/mm/init.c b/arch/frv/mm/init.c
index 79433159b5f0..765088ea8a50 100644
--- a/arch/frv/mm/init.c
+++ b/arch/frv/mm/init.c
@@ -108,7 +108,7 @@ void __init paging_init(void)
108 108
109 memset((void *) empty_zero_page, 0, PAGE_SIZE); 109 memset((void *) empty_zero_page, 0, PAGE_SIZE);
110 110
111#if CONFIG_HIGHMEM 111#ifdef CONFIG_HIGHMEM
112 if (num_physpages - num_mappedpages) { 112 if (num_physpages - num_mappedpages) {
113 pgd_t *pge; 113 pgd_t *pge;
114 pud_t *pue; 114 pud_t *pue;
diff --git a/arch/frv/mm/pgalloc.c b/arch/frv/mm/pgalloc.c
index 2c67dfe5a6b3..f76dd03ddd99 100644
--- a/arch/frv/mm/pgalloc.c
+++ b/arch/frv/mm/pgalloc.c
@@ -85,7 +85,7 @@ static inline void pgd_list_add(pgd_t *pgd)
85 struct page *page = virt_to_page(pgd); 85 struct page *page = virt_to_page(pgd);
86 page->index = (unsigned long) pgd_list; 86 page->index = (unsigned long) pgd_list;
87 if (pgd_list) 87 if (pgd_list)
88 pgd_list->private = (unsigned long) &page->index; 88 set_page_private(pgd_list, (unsigned long) &page->index);
89 pgd_list = page; 89 pgd_list = page;
90 set_page_private(page, (unsigned long)&pgd_list); 90 set_page_private(page, (unsigned long)&pgd_list);
91} 91}
@@ -94,10 +94,10 @@ static inline void pgd_list_del(pgd_t *pgd)
94{ 94{
95 struct page *next, **pprev, *page = virt_to_page(pgd); 95 struct page *next, **pprev, *page = virt_to_page(pgd);
96 next = (struct page *) page->index; 96 next = (struct page *) page->index;
97 pprev = (struct page **)page_private(page); 97 pprev = (struct page **) page_private(page);
98 *pprev = next; 98 *pprev = next;
99 if (next) 99 if (next)
100 next->private = (unsigned long) pprev; 100 set_page_private(next, (unsigned long) pprev);
101} 101}
102 102
103void pgd_ctor(void *pgd, kmem_cache_t *cache, unsigned long unused) 103void pgd_ctor(void *pgd, kmem_cache_t *cache, unsigned long unused)
diff --git a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c
index 1cb261f225d5..df6c2bcde067 100644
--- a/arch/i386/kernel/process.c
+++ b/arch/i386/kernel/process.c
@@ -393,13 +393,6 @@ void flush_thread(void)
393{ 393{
394 struct task_struct *tsk = current; 394 struct task_struct *tsk = current;
395 395
396 /*
397 * Remove function-return probe instances associated with this task
398 * and put them back on the free list. Do not insert an exit probe for
399 * this function, it will be disabled by kprobe_flush_task if you do.
400 */
401 kprobe_flush_task(tsk);
402
403 memset(tsk->thread.debugreg, 0, sizeof(unsigned long)*8); 396 memset(tsk->thread.debugreg, 0, sizeof(unsigned long)*8);
404 memset(tsk->thread.tls_array, 0, sizeof(tsk->thread.tls_array)); 397 memset(tsk->thread.tls_array, 0, sizeof(tsk->thread.tls_array));
405 /* 398 /*
diff --git a/arch/i386/pci/common.c b/arch/i386/pci/common.c
index c96bea14b98f..f6bc48da4d2a 100644
--- a/arch/i386/pci/common.c
+++ b/arch/i386/pci/common.c
@@ -132,7 +132,7 @@ struct pci_bus * __devinit pcibios_scan_root(int busnum)
132 } 132 }
133 } 133 }
134 134
135 printk("PCI: Probing PCI hardware (bus %02x)\n", busnum); 135 printk(KERN_DEBUG "PCI: Probing PCI hardware (bus %02x)\n", busnum);
136 136
137 return pci_scan_bus_parented(NULL, busnum, &pci_root_ops, NULL); 137 return pci_scan_bus_parented(NULL, busnum, &pci_root_ops, NULL);
138} 138}
@@ -144,7 +144,7 @@ static int __init pcibios_init(void)
144 struct cpuinfo_x86 *c = &boot_cpu_data; 144 struct cpuinfo_x86 *c = &boot_cpu_data;
145 145
146 if (!raw_pci_ops) { 146 if (!raw_pci_ops) {
147 printk("PCI: System does not support PCI\n"); 147 printk(KERN_WARNING "PCI: System does not support PCI\n");
148 return 0; 148 return 0;
149 } 149 }
150 150
diff --git a/arch/i386/pci/direct.c b/arch/i386/pci/direct.c
index 30b7e9b4f6a2..94331d6be7a3 100644
--- a/arch/i386/pci/direct.c
+++ b/arch/i386/pci/direct.c
@@ -201,7 +201,7 @@ static int __init pci_sanity_check(struct pci_raw_ops *o)
201 return 1; 201 return 1;
202 } 202 }
203 203
204 DBG("PCI: Sanity check failed\n"); 204 DBG(KERN_WARNING "PCI: Sanity check failed\n");
205 return 0; 205 return 0;
206} 206}
207 207
diff --git a/arch/i386/pci/i386.c b/arch/i386/pci/i386.c
index 6d6338500c3c..ed2c8c899bd3 100644
--- a/arch/i386/pci/i386.c
+++ b/arch/i386/pci/i386.c
@@ -221,6 +221,11 @@ int pcibios_enable_resources(struct pci_dev *dev, int mask)
221 continue; 221 continue;
222 222
223 r = &dev->resource[idx]; 223 r = &dev->resource[idx];
224 if (!(r->flags & (IORESOURCE_IO | IORESOURCE_MEM)))
225 continue;
226 if ((idx == PCI_ROM_RESOURCE) &&
227 (!(r->flags & IORESOURCE_ROM_ENABLE)))
228 continue;
224 if (!r->start && r->end) { 229 if (!r->start && r->end) {
225 printk(KERN_ERR "PCI: Device %s not available because of resource collisions\n", pci_name(dev)); 230 printk(KERN_ERR "PCI: Device %s not available because of resource collisions\n", pci_name(dev));
226 return -EINVAL; 231 return -EINVAL;
@@ -230,8 +235,6 @@ int pcibios_enable_resources(struct pci_dev *dev, int mask)
230 if (r->flags & IORESOURCE_MEM) 235 if (r->flags & IORESOURCE_MEM)
231 cmd |= PCI_COMMAND_MEMORY; 236 cmd |= PCI_COMMAND_MEMORY;
232 } 237 }
233 if (dev->resource[PCI_ROM_RESOURCE].start)
234 cmd |= PCI_COMMAND_MEMORY;
235 if (cmd != old_cmd) { 238 if (cmd != old_cmd) {
236 printk("PCI: Enabling device %s (%04x -> %04x)\n", pci_name(dev), old_cmd, cmd); 239 printk("PCI: Enabling device %s (%04x -> %04x)\n", pci_name(dev), old_cmd, cmd);
237 pci_write_config_word(dev, PCI_COMMAND, cmd); 240 pci_write_config_word(dev, PCI_COMMAND, cmd);
diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c
index 4305d2ba76f6..2e33665d9c18 100644
--- a/arch/ia64/kernel/process.c
+++ b/arch/ia64/kernel/process.c
@@ -718,13 +718,6 @@ kernel_thread_helper (int (*fn)(void *), void *arg)
718void 718void
719flush_thread (void) 719flush_thread (void)
720{ 720{
721 /*
722 * Remove function-return probe instances associated with this task
723 * and put them back on the free list. Do not insert an exit probe for
724 * this function, it will be disabled by kprobe_flush_task if you do.
725 */
726 kprobe_flush_task(current);
727
728 /* drop floating-point and debug-register state if it exists: */ 721 /* drop floating-point and debug-register state if it exists: */
729 current->thread.flags &= ~(IA64_THREAD_FPH_VALID | IA64_THREAD_DBG_VALID); 722 current->thread.flags &= ~(IA64_THREAD_FPH_VALID | IA64_THREAD_DBG_VALID);
730 ia64_drop_fpu(current); 723 ia64_drop_fpu(current);
diff --git a/arch/ia64/sn/kernel/bte.c b/arch/ia64/sn/kernel/bte.c
index d71f4de44f79..dd73c0cb754b 100644
--- a/arch/ia64/sn/kernel/bte.c
+++ b/arch/ia64/sn/kernel/bte.c
@@ -137,6 +137,7 @@ retry_bteop:
137 bte = bte_if_on_node(nasid_to_try[nasid_index],bte_if_index); 137 bte = bte_if_on_node(nasid_to_try[nasid_index],bte_if_index);
138 138
139 if (bte == NULL) { 139 if (bte == NULL) {
140 nasid_index++;
140 continue; 141 continue;
141 } 142 }
142 143
diff --git a/arch/ia64/sn/kernel/sn2/sn2_smp.c b/arch/ia64/sn/kernel/sn2/sn2_smp.c
index 49b530c39a42..5d54f5f4e926 100644
--- a/arch/ia64/sn/kernel/sn2/sn2_smp.c
+++ b/arch/ia64/sn/kernel/sn2/sn2_smp.c
@@ -492,6 +492,9 @@ static struct proc_dir_entry *proc_sn2_ptc;
492 492
493static int __init sn2_ptc_init(void) 493static int __init sn2_ptc_init(void)
494{ 494{
495 if (!ia64_platform_is("sn2"))
496 return -ENOSYS;
497
495 if (!(proc_sn2_ptc = create_proc_entry(PTC_BASENAME, 0444, NULL))) { 498 if (!(proc_sn2_ptc = create_proc_entry(PTC_BASENAME, 0444, NULL))) {
496 printk(KERN_ERR "unable to create %s proc entry", PTC_BASENAME); 499 printk(KERN_ERR "unable to create %s proc entry", PTC_BASENAME);
497 return -EINVAL; 500 return -EINVAL;
diff --git a/arch/ia64/sn/kernel/sn2/sn_hwperf.c b/arch/ia64/sn/kernel/sn2/sn_hwperf.c
index 6c6fbca3229c..19b54fbcd7ea 100644
--- a/arch/ia64/sn/kernel/sn2/sn_hwperf.c
+++ b/arch/ia64/sn/kernel/sn2/sn_hwperf.c
@@ -743,13 +743,14 @@ sn_hwperf_ioctl(struct inode *in, struct file *fp, u32 op, u64 arg)
743 if ((r = sn_hwperf_enum_objects(&nobj, &objs)) == 0) { 743 if ((r = sn_hwperf_enum_objects(&nobj, &objs)) == 0) {
744 memset(p, 0, a.sz); 744 memset(p, 0, a.sz);
745 for (i = 0; i < nobj; i++) { 745 for (i = 0; i < nobj; i++) {
746 int cpuobj_index = 0;
746 if (!SN_HWPERF_IS_NODE(objs + i)) 747 if (!SN_HWPERF_IS_NODE(objs + i))
747 continue; 748 continue;
748 node = sn_hwperf_obj_to_cnode(objs + i); 749 node = sn_hwperf_obj_to_cnode(objs + i);
749 for_each_online_cpu(j) { 750 for_each_online_cpu(j) {
750 if (node != cpu_to_node(j)) 751 if (node != cpu_to_node(j))
751 continue; 752 continue;
752 cpuobj = (struct sn_hwperf_object_info *) p + j; 753 cpuobj = (struct sn_hwperf_object_info *) p + cpuobj_index++;
753 slice = 'a' + cpuid_to_slice(j); 754 slice = 'a' + cpuid_to_slice(j);
754 cdata = cpu_data(j); 755 cdata = cpu_data(j);
755 cpuobj->id = j; 756 cpuobj->id = j;
diff --git a/arch/m32r/kernel/io_mappi3.c b/arch/m32r/kernel/io_mappi3.c
index 6716ffea769a..f80321a58764 100644
--- a/arch/m32r/kernel/io_mappi3.c
+++ b/arch/m32r/kernel/io_mappi3.c
@@ -36,12 +36,13 @@ static inline void *_port2addr(unsigned long port)
36 return (void *)(port + NONCACHE_OFFSET); 36 return (void *)(port + NONCACHE_OFFSET);
37} 37}
38 38
39#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC) 39#if defined(CONFIG_IDE)
40static inline void *__port2addr_ata(unsigned long port) 40static inline void *__port2addr_ata(unsigned long port)
41{ 41{
42 static int dummy_reg; 42 static int dummy_reg;
43 43
44 switch (port) { 44 switch (port) {
45 /* IDE0 CF */
45 case 0x1f0: return (void *)0xb4002000; 46 case 0x1f0: return (void *)0xb4002000;
46 case 0x1f1: return (void *)0xb4012800; 47 case 0x1f1: return (void *)0xb4012800;
47 case 0x1f2: return (void *)0xb4012002; 48 case 0x1f2: return (void *)0xb4012002;
@@ -51,6 +52,17 @@ static inline void *__port2addr_ata(unsigned long port)
51 case 0x1f6: return (void *)0xb4012006; 52 case 0x1f6: return (void *)0xb4012006;
52 case 0x1f7: return (void *)0xb4012806; 53 case 0x1f7: return (void *)0xb4012806;
53 case 0x3f6: return (void *)0xb401200e; 54 case 0x3f6: return (void *)0xb401200e;
55 /* IDE1 IDE */
56 case 0x170: return (void *)0xb4810000; /* Data 16bit */
57 case 0x171: return (void *)0xb4810002; /* Features / Error */
58 case 0x172: return (void *)0xb4810004; /* Sector count */
59 case 0x173: return (void *)0xb4810006; /* Sector number */
60 case 0x174: return (void *)0xb4810008; /* Cylinder low */
61 case 0x175: return (void *)0xb481000a; /* Cylinder high */
62 case 0x176: return (void *)0xb481000c; /* Device head */
63 case 0x177: return (void *)0xb481000e; /* Command */
64 case 0x376: return (void *)0xb480800c; /* Device control / Alt status */
65
54 default: return (void *)&dummy_reg; 66 default: return (void *)&dummy_reg;
55 } 67 }
56} 68}
@@ -108,8 +120,9 @@ unsigned char _inb(unsigned long port)
108{ 120{
109 if (port >= LAN_IOSTART && port < LAN_IOEND) 121 if (port >= LAN_IOSTART && port < LAN_IOEND)
110 return _ne_inb(PORT2ADDR_NE(port)); 122 return _ne_inb(PORT2ADDR_NE(port));
111#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC) 123#if defined(CONFIG_IDE)
112 else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) { 124 else if ( ((port >= 0x170 && port <=0x177) || port == 0x376) ||
125 ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) ){
113 return *(volatile unsigned char *)__port2addr_ata(port); 126 return *(volatile unsigned char *)__port2addr_ata(port);
114 } 127 }
115#endif 128#endif
@@ -127,8 +140,9 @@ unsigned short _inw(unsigned long port)
127{ 140{
128 if (port >= LAN_IOSTART && port < LAN_IOEND) 141 if (port >= LAN_IOSTART && port < LAN_IOEND)
129 return _ne_inw(PORT2ADDR_NE(port)); 142 return _ne_inw(PORT2ADDR_NE(port));
130#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC) 143#if defined(CONFIG_IDE)
131 else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) { 144 else if ( ((port >= 0x170 && port <=0x177) || port == 0x376) ||
145 ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) ){
132 return *(volatile unsigned short *)__port2addr_ata(port); 146 return *(volatile unsigned short *)__port2addr_ata(port);
133 } 147 }
134#endif 148#endif
@@ -185,8 +199,9 @@ void _outb(unsigned char b, unsigned long port)
185 if (port >= LAN_IOSTART && port < LAN_IOEND) 199 if (port >= LAN_IOSTART && port < LAN_IOEND)
186 _ne_outb(b, PORT2ADDR_NE(port)); 200 _ne_outb(b, PORT2ADDR_NE(port));
187 else 201 else
188#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC) 202#if defined(CONFIG_IDE)
189 if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) { 203 if ( ((port >= 0x170 && port <=0x177) || port == 0x376) ||
204 ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) ){
190 *(volatile unsigned char *)__port2addr_ata(port) = b; 205 *(volatile unsigned char *)__port2addr_ata(port) = b;
191 } else 206 } else
192#endif 207#endif
@@ -203,8 +218,9 @@ void _outw(unsigned short w, unsigned long port)
203 if (port >= LAN_IOSTART && port < LAN_IOEND) 218 if (port >= LAN_IOSTART && port < LAN_IOEND)
204 _ne_outw(w, PORT2ADDR_NE(port)); 219 _ne_outw(w, PORT2ADDR_NE(port));
205 else 220 else
206#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC) 221#if defined(CONFIG_IDE)
207 if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) { 222 if ( ((port >= 0x170 && port <=0x177) || port == 0x376) ||
223 ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) ){
208 *(volatile unsigned short *)__port2addr_ata(port) = w; 224 *(volatile unsigned short *)__port2addr_ata(port) = w;
209 } else 225 } else
210#endif 226#endif
@@ -253,8 +269,9 @@ void _insb(unsigned int port, void * addr, unsigned long count)
253{ 269{
254 if (port >= LAN_IOSTART && port < LAN_IOEND) 270 if (port >= LAN_IOSTART && port < LAN_IOEND)
255 _ne_insb(PORT2ADDR_NE(port), addr, count); 271 _ne_insb(PORT2ADDR_NE(port), addr, count);
256#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC) 272#if defined(CONFIG_IDE)
257 else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) { 273 else if ( ((port >= 0x170 && port <=0x177) || port == 0x376) ||
274 ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) ){
258 unsigned char *buf = addr; 275 unsigned char *buf = addr;
259 unsigned char *portp = __port2addr_ata(port); 276 unsigned char *portp = __port2addr_ata(port);
260 while (count--) 277 while (count--)
@@ -289,8 +306,9 @@ void _insw(unsigned int port, void * addr, unsigned long count)
289 pcc_ioread_word(9, port, (void *)addr, sizeof(unsigned short), 306 pcc_ioread_word(9, port, (void *)addr, sizeof(unsigned short),
290 count, 1); 307 count, 1);
291#endif 308#endif
292#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC) 309#if defined(CONFIG_IDE)
293 } else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) { 310 } else if ( ((port >= 0x170 && port <=0x177) || port == 0x376) ||
311 ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) ){
294 portp = __port2addr_ata(port); 312 portp = __port2addr_ata(port);
295 while (count--) 313 while (count--)
296 *buf++ = *(volatile unsigned short *)portp; 314 *buf++ = *(volatile unsigned short *)portp;
@@ -321,8 +339,9 @@ void _outsb(unsigned int port, const void * addr, unsigned long count)
321 portp = PORT2ADDR_NE(port); 339 portp = PORT2ADDR_NE(port);
322 while (count--) 340 while (count--)
323 _ne_outb(*buf++, portp); 341 _ne_outb(*buf++, portp);
324#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC) 342#if defined(CONFIG_IDE)
325 } else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) { 343 } else if ( ((port >= 0x170 && port <=0x177) || port == 0x376) ||
344 ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) ){
326 portp = __port2addr_ata(port); 345 portp = __port2addr_ata(port);
327 while (count--) 346 while (count--)
328 *(volatile unsigned char *)portp = *buf++; 347 *(volatile unsigned char *)portp = *buf++;
@@ -348,8 +367,9 @@ void _outsw(unsigned int port, const void * addr, unsigned long count)
348 portp = PORT2ADDR_NE(port); 367 portp = PORT2ADDR_NE(port);
349 while (count--) 368 while (count--)
350 *(volatile unsigned short *)portp = *buf++; 369 *(volatile unsigned short *)portp = *buf++;
351#if defined(CONFIG_IDE) && !defined(CONFIG_M32R_CFC) 370#if defined(CONFIG_IDE)
352 } else if ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) { 371 } else if ( ((port >= 0x170 && port <=0x177) || port == 0x376) ||
372 ((port >= 0x1f0 && port <=0x1f7) || port == 0x3f6) ){
353 portp = __port2addr_ata(port); 373 portp = __port2addr_ata(port);
354 while (count--) 374 while (count--)
355 *(volatile unsigned short *)portp = *buf++; 375 *(volatile unsigned short *)portp = *buf++;
diff --git a/arch/m32r/kernel/setup_mappi3.c b/arch/m32r/kernel/setup_mappi3.c
index 9c79341a7b45..f6ecdf7f555c 100644
--- a/arch/m32r/kernel/setup_mappi3.c
+++ b/arch/m32r/kernel/setup_mappi3.c
@@ -151,7 +151,7 @@ void __init init_IRQ(void)
151 disable_mappi3_irq(M32R_IRQ_INT1); 151 disable_mappi3_irq(M32R_IRQ_INT1);
152#endif /* CONFIG_USB */ 152#endif /* CONFIG_USB */
153 153
154 /* ICUCR40: CFC IREQ */ 154 /* CFC IREQ */
155 irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED; 155 irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED;
156 irq_desc[PLD_IRQ_CFIREQ].handler = &mappi3_irq_type; 156 irq_desc[PLD_IRQ_CFIREQ].handler = &mappi3_irq_type;
157 irq_desc[PLD_IRQ_CFIREQ].action = 0; 157 irq_desc[PLD_IRQ_CFIREQ].action = 0;
@@ -160,7 +160,7 @@ void __init init_IRQ(void)
160 disable_mappi3_irq(PLD_IRQ_CFIREQ); 160 disable_mappi3_irq(PLD_IRQ_CFIREQ);
161 161
162#if defined(CONFIG_M32R_CFC) 162#if defined(CONFIG_M32R_CFC)
163 /* ICUCR41: CFC Insert */ 163 /* ICUCR41: CFC Insert & eject */
164 irq_desc[PLD_IRQ_CFC_INSERT].status = IRQ_DISABLED; 164 irq_desc[PLD_IRQ_CFC_INSERT].status = IRQ_DISABLED;
165 irq_desc[PLD_IRQ_CFC_INSERT].handler = &mappi3_irq_type; 165 irq_desc[PLD_IRQ_CFC_INSERT].handler = &mappi3_irq_type;
166 irq_desc[PLD_IRQ_CFC_INSERT].action = 0; 166 irq_desc[PLD_IRQ_CFC_INSERT].action = 0;
@@ -168,14 +168,16 @@ void __init init_IRQ(void)
168 icu_data[PLD_IRQ_CFC_INSERT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD00; 168 icu_data[PLD_IRQ_CFC_INSERT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD00;
169 disable_mappi3_irq(PLD_IRQ_CFC_INSERT); 169 disable_mappi3_irq(PLD_IRQ_CFC_INSERT);
170 170
171 /* ICUCR42: CFC Eject */
172 irq_desc[PLD_IRQ_CFC_EJECT].status = IRQ_DISABLED;
173 irq_desc[PLD_IRQ_CFC_EJECT].handler = &mappi3_irq_type;
174 irq_desc[PLD_IRQ_CFC_EJECT].action = 0;
175 irq_desc[PLD_IRQ_CFC_EJECT].depth = 1; /* disable nested irq */
176 icu_data[PLD_IRQ_CFC_EJECT].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
177 disable_mappi3_irq(PLD_IRQ_CFC_EJECT);
178#endif /* CONFIG_M32R_CFC */ 171#endif /* CONFIG_M32R_CFC */
172
173 /* IDE IREQ */
174 irq_desc[PLD_IRQ_IDEIREQ].status = IRQ_DISABLED;
175 irq_desc[PLD_IRQ_IDEIREQ].handler = &mappi3_irq_type;
176 irq_desc[PLD_IRQ_IDEIREQ].action = 0;
177 irq_desc[PLD_IRQ_IDEIREQ].depth = 1; /* disable nested irq */
178 icu_data[PLD_IRQ_IDEIREQ].icucr = M32R_ICUCR_IEN|M32R_ICUCR_ISMOD10;
179 disable_mappi3_irq(PLD_IRQ_IDEIREQ);
180
179} 181}
180 182
181#if defined(CONFIG_SMC91X) 183#if defined(CONFIG_SMC91X)
diff --git a/arch/m32r/kernel/sys_m32r.c b/arch/m32r/kernel/sys_m32r.c
index e0500e12c5fb..fe55b28d3725 100644
--- a/arch/m32r/kernel/sys_m32r.c
+++ b/arch/m32r/kernel/sys_m32r.c
@@ -41,7 +41,8 @@ asmlinkage int sys_tas(int *addr)
41 return -EFAULT; 41 return -EFAULT;
42 local_irq_save(flags); 42 local_irq_save(flags);
43 oldval = *addr; 43 oldval = *addr;
44 *addr = 1; 44 if (!oldval)
45 *addr = 1;
45 local_irq_restore(flags); 46 local_irq_restore(flags);
46 return oldval; 47 return oldval;
47} 48}
@@ -59,7 +60,8 @@ asmlinkage int sys_tas(int *addr)
59 60
60 _raw_spin_lock(&tas_lock); 61 _raw_spin_lock(&tas_lock);
61 oldval = *addr; 62 oldval = *addr;
62 *addr = 1; 63 if (!oldval)
64 *addr = 1;
63 _raw_spin_unlock(&tas_lock); 65 _raw_spin_unlock(&tas_lock);
64 66
65 return oldval; 67 return oldval;
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 98f67c78d1bd..a13eb575f834 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -61,15 +61,17 @@ endif
61LDFLAGS_vmlinux := -Bstatic 61LDFLAGS_vmlinux := -Bstatic
62 62
63# The -Iarch/$(ARCH)/include is temporary while we are merging 63# The -Iarch/$(ARCH)/include is temporary while we are merging
64CPPFLAGS += -Iarch/$(ARCH) -Iarch/$(ARCH)/include 64CPPFLAGS-$(CONFIG_PPC32) := -Iarch/$(ARCH) -Iarch/$(ARCH)/include
65AFLAGS += -Iarch/$(ARCH) 65AFLAGS-$(CONFIG_PPC32) := -Iarch/$(ARCH)
66CFLAGS += -Iarch/$(ARCH) -msoft-float -pipe
67CFLAGS-$(CONFIG_PPC64) := -mminimal-toc -mtraceback=none -mcall-aixdesc 66CFLAGS-$(CONFIG_PPC64) := -mminimal-toc -mtraceback=none -mcall-aixdesc
68CFLAGS-$(CONFIG_PPC32) := -ffixed-r2 -mmultiple 67CFLAGS-$(CONFIG_PPC32) := -Iarch/$(ARCH) -ffixed-r2 -mmultiple
69CFLAGS += $(CFLAGS-y) 68CPPFLAGS += $(CPPFLAGS-y)
69AFLAGS += $(AFLAGS-y)
70CFLAGS += -msoft-float -pipe $(CFLAGS-y)
70CPP = $(CC) -E $(CFLAGS) 71CPP = $(CC) -E $(CFLAGS)
71# Temporary hack until we have migrated to asm-powerpc 72# Temporary hack until we have migrated to asm-powerpc
72LINUXINCLUDE += -Iarch/$(ARCH)/include 73LINUXINCLUDE-$(CONFIG_PPC32) := -Iarch/$(ARCH)/include
74LINUXINCLUDE += $(LINUXINCLUDE-y)
73 75
74CHECKFLAGS += -m$(SZ) -D__powerpc__ -D__powerpc$(SZ)__ 76CHECKFLAGS += -m$(SZ) -D__powerpc__ -D__powerpc$(SZ)__
75 77
@@ -173,11 +175,13 @@ archclean:
173 175
174archprepare: checkbin 176archprepare: checkbin
175 177
178ifeq ($(CONFIG_PPC32),y)
176# Temporary hack until we have migrated to asm-powerpc 179# Temporary hack until we have migrated to asm-powerpc
177include/asm: arch/$(ARCH)/include/asm 180include/asm: arch/$(ARCH)/include/asm
178arch/$(ARCH)/include/asm: FORCE 181arch/$(ARCH)/include/asm: FORCE
179 $(Q)if [ ! -d arch/$(ARCH)/include ]; then mkdir -p arch/$(ARCH)/include; fi 182 $(Q)if [ ! -d arch/$(ARCH)/include ]; then mkdir -p arch/$(ARCH)/include; fi
180 $(Q)ln -fsn $(srctree)/include/asm-$(OLDARCH) arch/$(ARCH)/include/asm 183 $(Q)ln -fsn $(srctree)/include/asm-$(OLDARCH) arch/$(ARCH)/include/asm
184endif
181 185
182# Use the file '.tmp_gas_check' for binutils tests, as gas won't output 186# Use the file '.tmp_gas_check' for binutils tests, as gas won't output
183# to stdout and these checks are run even on install targets. 187# to stdout and these checks are run even on install targets.
diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c
index af4d1bc9a2eb..94db25708456 100644
--- a/arch/powerpc/kernel/ppc_ksyms.c
+++ b/arch/powerpc/kernel/ppc_ksyms.c
@@ -163,15 +163,13 @@ EXPORT_SYMBOL(giveup_altivec);
163EXPORT_SYMBOL(giveup_spe); 163EXPORT_SYMBOL(giveup_spe);
164#endif /* CONFIG_SPE */ 164#endif /* CONFIG_SPE */
165 165
166#ifdef CONFIG_PPC64 166#ifndef CONFIG_PPC64
167EXPORT_SYMBOL(__flush_icache_range);
168#else
169EXPORT_SYMBOL(flush_instruction_cache); 167EXPORT_SYMBOL(flush_instruction_cache);
170EXPORT_SYMBOL(flush_icache_range);
171EXPORT_SYMBOL(flush_tlb_kernel_range); 168EXPORT_SYMBOL(flush_tlb_kernel_range);
172EXPORT_SYMBOL(flush_tlb_page); 169EXPORT_SYMBOL(flush_tlb_page);
173EXPORT_SYMBOL(_tlbie); 170EXPORT_SYMBOL(_tlbie);
174#endif 171#endif
172EXPORT_SYMBOL(__flush_icache_range);
175EXPORT_SYMBOL(flush_dcache_range); 173EXPORT_SYMBOL(flush_dcache_range);
176 174
177#ifdef CONFIG_SMP 175#ifdef CONFIG_SMP
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index de69fb37c731..a5a7542a8ff3 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -457,7 +457,6 @@ void flush_thread(void)
457 if (t->flags & _TIF_ABI_PENDING) 457 if (t->flags & _TIF_ABI_PENDING)
458 t->flags ^= (_TIF_ABI_PENDING | _TIF_32BIT); 458 t->flags ^= (_TIF_ABI_PENDING | _TIF_32BIT);
459#endif 459#endif
460 kprobe_flush_task(current);
461 460
462#ifndef CONFIG_SMP 461#ifndef CONFIG_SMP
463 if (last_task_used_math == current) 462 if (last_task_used_math == current)
diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c
index 0d4d8bec0df4..f0c47dab0903 100644
--- a/arch/powerpc/kernel/vdso.c
+++ b/arch/powerpc/kernel/vdso.c
@@ -145,8 +145,7 @@ static void dump_vdso_pages(struct vm_area_struct * vma)
145 struct page *pg = virt_to_page(vdso32_kbase + 145 struct page *pg = virt_to_page(vdso32_kbase +
146 i*PAGE_SIZE); 146 i*PAGE_SIZE);
147 struct page *upg = (vma && vma->vm_mm) ? 147 struct page *upg = (vma && vma->vm_mm) ?
148 follow_page(vma->vm_mm, vma->vm_start + 148 follow_page(vma, vma->vm_start + i*PAGE_SIZE, 0)
149 i*PAGE_SIZE, 0)
150 : NULL; 149 : NULL;
151 dump_one_vdso_page(pg, upg); 150 dump_one_vdso_page(pg, upg);
152 } 151 }
@@ -157,8 +156,7 @@ static void dump_vdso_pages(struct vm_area_struct * vma)
157 struct page *pg = virt_to_page(vdso64_kbase + 156 struct page *pg = virt_to_page(vdso64_kbase +
158 i*PAGE_SIZE); 157 i*PAGE_SIZE);
159 struct page *upg = (vma && vma->vm_mm) ? 158 struct page *upg = (vma && vma->vm_mm) ?
160 follow_page(vma->vm_mm, vma->vm_start + 159 follow_page(vma, vma->vm_start + i*PAGE_SIZE, 0)
161 i*PAGE_SIZE, 0)
162 : NULL; 160 : NULL;
163 dump_one_vdso_page(pg, upg); 161 dump_one_vdso_page(pg, upg);
164 } 162 }
@@ -285,8 +283,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm,
285 * It's fine to use that for setting breakpoints in the vDSO code 283 * It's fine to use that for setting breakpoints in the vDSO code
286 * pages though 284 * pages though
287 */ 285 */
288 vma->vm_flags = VM_READ | VM_EXEC | VM_MAYREAD | VM_MAYWRITE | 286 vma->vm_flags = VM_READ | VM_EXEC | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC;
289 VM_MAYEXEC | VM_RESERVED;
290 vma->vm_flags |= mm->def_flags; 287 vma->vm_flags |= mm->def_flags;
291 vma->vm_page_prot = protection_map[vma->vm_flags & 0x7]; 288 vma->vm_page_prot = protection_map[vma->vm_flags & 0x7];
292 vma->vm_ops = &vdso_vmops; 289 vma->vm_ops = &vdso_vmops;
diff --git a/arch/powerpc/mm/4xx_mmu.c b/arch/powerpc/mm/4xx_mmu.c
index b7bcbc232f39..4d006aa1a0d1 100644
--- a/arch/powerpc/mm/4xx_mmu.c
+++ b/arch/powerpc/mm/4xx_mmu.c
@@ -110,13 +110,11 @@ unsigned long __init mmu_mapin_ram(void)
110 pmd_t *pmdp; 110 pmd_t *pmdp;
111 unsigned long val = p | _PMD_SIZE_16M | _PAGE_HWEXEC | _PAGE_HWWRITE; 111 unsigned long val = p | _PMD_SIZE_16M | _PAGE_HWEXEC | _PAGE_HWWRITE;
112 112
113 spin_lock(&init_mm.page_table_lock);
114 pmdp = pmd_offset(pgd_offset_k(v), v); 113 pmdp = pmd_offset(pgd_offset_k(v), v);
115 pmd_val(*pmdp++) = val; 114 pmd_val(*pmdp++) = val;
116 pmd_val(*pmdp++) = val; 115 pmd_val(*pmdp++) = val;
117 pmd_val(*pmdp++) = val; 116 pmd_val(*pmdp++) = val;
118 pmd_val(*pmdp++) = val; 117 pmd_val(*pmdp++) = val;
119 spin_unlock(&init_mm.page_table_lock);
120 118
121 v += LARGE_PAGE_SIZE_16M; 119 v += LARGE_PAGE_SIZE_16M;
122 p += LARGE_PAGE_SIZE_16M; 120 p += LARGE_PAGE_SIZE_16M;
@@ -127,10 +125,8 @@ unsigned long __init mmu_mapin_ram(void)
127 pmd_t *pmdp; 125 pmd_t *pmdp;
128 unsigned long val = p | _PMD_SIZE_4M | _PAGE_HWEXEC | _PAGE_HWWRITE; 126 unsigned long val = p | _PMD_SIZE_4M | _PAGE_HWEXEC | _PAGE_HWWRITE;
129 127
130 spin_lock(&init_mm.page_table_lock);
131 pmdp = pmd_offset(pgd_offset_k(v), v); 128 pmdp = pmd_offset(pgd_offset_k(v), v);
132 pmd_val(*pmdp) = val; 129 pmd_val(*pmdp) = val;
133 spin_unlock(&init_mm.page_table_lock);
134 130
135 v += LARGE_PAGE_SIZE_4M; 131 v += LARGE_PAGE_SIZE_4M;
136 p += LARGE_PAGE_SIZE_4M; 132 p += LARGE_PAGE_SIZE_4M;
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c
index 426c269e552e..6bc9dbad7dea 100644
--- a/arch/powerpc/mm/hugetlbpage.c
+++ b/arch/powerpc/mm/hugetlbpage.c
@@ -287,15 +287,15 @@ static int open_high_hpage_areas(struct mm_struct *mm, u16 newareas)
287 287
288int prepare_hugepage_range(unsigned long addr, unsigned long len) 288int prepare_hugepage_range(unsigned long addr, unsigned long len)
289{ 289{
290 int err; 290 int err = 0;
291 291
292 if ( (addr+len) < addr ) 292 if ( (addr+len) < addr )
293 return -EINVAL; 293 return -EINVAL;
294 294
295 if ((addr + len) < 0x100000000UL) 295 if (addr < 0x100000000UL)
296 err = open_low_hpage_areas(current->mm, 296 err = open_low_hpage_areas(current->mm,
297 LOW_ESID_MASK(addr, len)); 297 LOW_ESID_MASK(addr, len));
298 else 298 if ((addr + len) > 0x100000000UL)
299 err = open_high_hpage_areas(current->mm, 299 err = open_high_hpage_areas(current->mm,
300 HTLB_AREA_MASK(addr, len)); 300 HTLB_AREA_MASK(addr, len));
301 if (err) { 301 if (err) {
@@ -754,9 +754,7 @@ repeat:
754 } 754 }
755 755
756 /* 756 /*
757 * No need to use ldarx/stdcx here because all who 757 * No need to use ldarx/stdcx here
758 * might be updating the pte will hold the
759 * page_table_lock
760 */ 758 */
761 *ptep = __pte(new_pte & ~_PAGE_BUSY); 759 *ptep = __pte(new_pte & ~_PAGE_BUSY);
762 760
diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c
index 4bd7b0a70996..ed6ed2e30dac 100644
--- a/arch/powerpc/mm/mem.c
+++ b/arch/powerpc/mm/mem.c
@@ -495,7 +495,7 @@ EXPORT_SYMBOL(flush_icache_user_range);
495 * We use it to preload an HPTE into the hash table corresponding to 495 * We use it to preload an HPTE into the hash table corresponding to
496 * the updated linux PTE. 496 * the updated linux PTE.
497 * 497 *
498 * This must always be called with the mm->page_table_lock held 498 * This must always be called with the pte lock held.
499 */ 499 */
500void update_mmu_cache(struct vm_area_struct *vma, unsigned long address, 500void update_mmu_cache(struct vm_area_struct *vma, unsigned long address,
501 pte_t pte) 501 pte_t pte)
diff --git a/arch/powerpc/mm/tlb_32.c b/arch/powerpc/mm/tlb_32.c
index 6c3dc3c44c86..ad580f3742e5 100644
--- a/arch/powerpc/mm/tlb_32.c
+++ b/arch/powerpc/mm/tlb_32.c
@@ -149,6 +149,12 @@ void flush_tlb_mm(struct mm_struct *mm)
149 return; 149 return;
150 } 150 }
151 151
152 /*
153 * It is safe to go down the mm's list of vmas when called
154 * from dup_mmap, holding mmap_sem. It would also be safe from
155 * unmap_region or exit_mmap, but not from vmtruncate on SMP -
156 * but it seems dup_mmap is the only SMP case which gets here.
157 */
152 for (mp = mm->mmap; mp != NULL; mp = mp->vm_next) 158 for (mp = mm->mmap; mp != NULL; mp = mp->vm_next)
153 flush_range(mp->vm_mm, mp->vm_start, mp->vm_end); 159 flush_range(mp->vm_mm, mp->vm_start, mp->vm_end);
154 FINISH_FLUSH; 160 FINISH_FLUSH;
diff --git a/arch/powerpc/mm/tlb_64.c b/arch/powerpc/mm/tlb_64.c
index 53e31b834ace..859d29a0cac5 100644
--- a/arch/powerpc/mm/tlb_64.c
+++ b/arch/powerpc/mm/tlb_64.c
@@ -95,7 +95,7 @@ static void pte_free_submit(struct pte_freelist_batch *batch)
95 95
96void pgtable_free_tlb(struct mmu_gather *tlb, pgtable_free_t pgf) 96void pgtable_free_tlb(struct mmu_gather *tlb, pgtable_free_t pgf)
97{ 97{
98 /* This is safe as we are holding page_table_lock */ 98 /* This is safe since tlb_gather_mmu has disabled preemption */
99 cpumask_t local_cpumask = cpumask_of_cpu(smp_processor_id()); 99 cpumask_t local_cpumask = cpumask_of_cpu(smp_processor_id());
100 struct pte_freelist_batch **batchp = &__get_cpu_var(pte_freelist_cur); 100 struct pte_freelist_batch **batchp = &__get_cpu_var(pte_freelist_cur);
101 101
@@ -206,7 +206,7 @@ void __flush_tlb_pending(struct ppc64_tlb_batch *batch)
206 206
207void pte_free_finish(void) 207void pte_free_finish(void)
208{ 208{
209 /* This is safe as we are holding page_table_lock */ 209 /* This is safe since tlb_gather_mmu has disabled preemption */
210 struct pte_freelist_batch **batchp = &__get_cpu_var(pte_freelist_cur); 210 struct pte_freelist_batch **batchp = &__get_cpu_var(pte_freelist_cur);
211 211
212 if (*batchp == NULL) 212 if (*batchp == NULL)
diff --git a/arch/powerpc/platforms/iseries/iommu.c b/arch/powerpc/platforms/iseries/iommu.c
index bf081b345820..2b54eeb2c899 100644
--- a/arch/powerpc/platforms/iseries/iommu.c
+++ b/arch/powerpc/platforms/iseries/iommu.c
@@ -3,7 +3,7 @@
3 * 3 *
4 * Rewrite, cleanup: 4 * Rewrite, cleanup:
5 * 5 *
6 * Copyright (C) 2004 Olof Johansson <olof@austin.ibm.com>, IBM Corporation 6 * Copyright (C) 2004 Olof Johansson <olof@lixom.net>, IBM Corporation
7 * 7 *
8 * Dynamic DMA mapping support, iSeries-specific parts. 8 * Dynamic DMA mapping support, iSeries-specific parts.
9 * 9 *
diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c
index 97ba5214417f..c78f2b290a73 100644
--- a/arch/powerpc/platforms/pseries/iommu.c
+++ b/arch/powerpc/platforms/pseries/iommu.c
@@ -5,7 +5,7 @@
5 * 5 *
6 * Rewrite, cleanup: 6 * Rewrite, cleanup:
7 * 7 *
8 * Copyright (C) 2004 Olof Johansson <olof@austin.ibm.com>, IBM Corporation 8 * Copyright (C) 2004 Olof Johansson <olof@lixom.net>, IBM Corporation
9 * 9 *
10 * Dynamic DMA mapping support, pSeries-specific parts, both SMP and LPAR. 10 * Dynamic DMA mapping support, pSeries-specific parts, both SMP and LPAR.
11 * 11 *
diff --git a/arch/powerpc/sysdev/dart.h b/arch/powerpc/sysdev/dart.h
index ea8f0d9eed8a..33ed9ed7fc1e 100644
--- a/arch/powerpc/sysdev/dart.h
+++ b/arch/powerpc/sysdev/dart.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2004 Olof Johansson <olof@austin.ibm.com>, IBM Corporation 2 * Copyright (C) 2004 Olof Johansson <olof@lixom.net>, IBM Corporation
3 * 3 *
4 * This program is free software; you can redistribute it and/or modify 4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by 5 * it under the terms of the GNU General Public License as published by
diff --git a/arch/powerpc/sysdev/u3_iommu.c b/arch/powerpc/sysdev/u3_iommu.c
index f32baf7f4693..5c1a26a6d00c 100644
--- a/arch/powerpc/sysdev/u3_iommu.c
+++ b/arch/powerpc/sysdev/u3_iommu.c
@@ -1,11 +1,11 @@
1/* 1/*
2 * arch/powerpc/sysdev/u3_iommu.c 2 * arch/powerpc/sysdev/u3_iommu.c
3 * 3 *
4 * Copyright (C) 2004 Olof Johansson <olof@austin.ibm.com>, IBM Corporation 4 * Copyright (C) 2004 Olof Johansson <olof@lixom.net>, IBM Corporation
5 * 5 *
6 * Based on pSeries_iommu.c: 6 * Based on pSeries_iommu.c:
7 * Copyright (C) 2001 Mike Corrigan & Dave Engebretsen, IBM Corporation 7 * Copyright (C) 2001 Mike Corrigan & Dave Engebretsen, IBM Corporation
8 * Copyright (C) 2004 Olof Johansson <olof@austin.ibm.com>, IBM Corporation 8 * Copyright (C) 2004 Olof Johansson <olof@lixom.net>, IBM Corporation
9 * 9 *
10 * Dynamic DMA mapping support, Apple U3 & IBM CPC925 "DART" iommu. 10 * Dynamic DMA mapping support, Apple U3 & IBM CPC925 "DART" iommu.
11 * 11 *
diff --git a/arch/ppc/kernel/ppc_ksyms.c b/arch/ppc/kernel/ppc_ksyms.c
index 66073f775193..bb6a5c6a64be 100644
--- a/arch/ppc/kernel/ppc_ksyms.c
+++ b/arch/ppc/kernel/ppc_ksyms.c
@@ -184,7 +184,7 @@ EXPORT_SYMBOL(kernel_thread);
184 184
185EXPORT_SYMBOL(flush_instruction_cache); 185EXPORT_SYMBOL(flush_instruction_cache);
186EXPORT_SYMBOL(giveup_fpu); 186EXPORT_SYMBOL(giveup_fpu);
187EXPORT_SYMBOL(flush_icache_range); 187EXPORT_SYMBOL(__flush_icache_range);
188EXPORT_SYMBOL(flush_dcache_range); 188EXPORT_SYMBOL(flush_dcache_range);
189EXPORT_SYMBOL(flush_icache_user_range); 189EXPORT_SYMBOL(flush_icache_user_range);
190EXPORT_SYMBOL(flush_dcache_page); 190EXPORT_SYMBOL(flush_dcache_page);
diff --git a/arch/sparc/kernel/ioport.c b/arch/sparc/kernel/ioport.c
index d0f2bd227c4c..d39c9f206271 100644
--- a/arch/sparc/kernel/ioport.c
+++ b/arch/sparc/kernel/ioport.c
@@ -252,7 +252,7 @@ void *sbus_alloc_consistent(struct sbus_dev *sdev, long len, u32 *dma_addrp)
252 } 252 }
253 253
254 order = get_order(len_total); 254 order = get_order(len_total);
255 if ((va = __get_free_pages(GFP_KERNEL, order)) == 0) 255 if ((va = __get_free_pages(GFP_KERNEL|__GFP_COMP, order)) == 0)
256 goto err_nopages; 256 goto err_nopages;
257 257
258 if ((res = kmalloc(sizeof(struct resource), GFP_KERNEL)) == NULL) 258 if ((res = kmalloc(sizeof(struct resource), GFP_KERNEL)) == NULL)
diff --git a/arch/sparc/mm/generic.c b/arch/sparc/mm/generic.c
index 9604893ffdbd..2cb0728cee05 100644
--- a/arch/sparc/mm/generic.c
+++ b/arch/sparc/mm/generic.c
@@ -32,9 +32,7 @@ static inline void io_remap_pte_range(struct mm_struct *mm, pte_t * pte, unsigne
32 if (end > PMD_SIZE) 32 if (end > PMD_SIZE)
33 end = PMD_SIZE; 33 end = PMD_SIZE;
34 do { 34 do {
35 pte_t oldpage = *pte; 35 set_pte_at(mm, address, pte, mk_pte_io(offset, prot, space));
36 pte_clear(mm, address, pte);
37 set_pte(pte, mk_pte_io(offset, prot, space));
38 address += PAGE_SIZE; 36 address += PAGE_SIZE;
39 offset += PAGE_SIZE; 37 offset += PAGE_SIZE;
40 pte++; 38 pte++;
@@ -63,7 +61,7 @@ static inline int io_remap_pmd_range(struct mm_struct *mm, pmd_t * pmd, unsigned
63} 61}
64 62
65int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from, 63int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from,
66 unsigned long pfn, unsigned long size, pgprot_t prot) 64 unsigned long pfn, unsigned long size, pgprot_t prot)
67{ 65{
68 int error = 0; 66 int error = 0;
69 pgd_t * dir; 67 pgd_t * dir;
@@ -74,7 +72,9 @@ int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from,
74 unsigned long offset = GET_PFN(pfn) << PAGE_SHIFT; 72 unsigned long offset = GET_PFN(pfn) << PAGE_SHIFT;
75 73
76 /* See comment in mm/memory.c remap_pfn_range */ 74 /* See comment in mm/memory.c remap_pfn_range */
77 vma->vm_flags |= VM_IO | VM_RESERVED; 75 vma->vm_flags |= VM_IO | VM_RESERVED | VM_PFNMAP;
76 vma->vm_pgoff = (offset >> PAGE_SHIFT) |
77 ((unsigned long)space << 28UL);
78 78
79 prot = __pgprot(pg_iobits); 79 prot = __pgprot(pg_iobits);
80 offset -= from; 80 offset -= from;
diff --git a/arch/sparc64/kernel/sbus.c b/arch/sparc64/kernel/sbus.c
index 96b825055668..d95a1bcf163d 100644
--- a/arch/sparc64/kernel/sbus.c
+++ b/arch/sparc64/kernel/sbus.c
@@ -327,7 +327,7 @@ void *sbus_alloc_consistent(struct sbus_dev *sdev, size_t size, dma_addr_t *dvma
327 order = get_order(size); 327 order = get_order(size);
328 if (order >= 10) 328 if (order >= 10)
329 return NULL; 329 return NULL;
330 first_page = __get_free_pages(GFP_KERNEL, order); 330 first_page = __get_free_pages(GFP_KERNEL|__GFP_COMP, order);
331 if (first_page == 0UL) 331 if (first_page == 0UL)
332 return NULL; 332 return NULL;
333 memset((char *)first_page, 0, PAGE_SIZE << order); 333 memset((char *)first_page, 0, PAGE_SIZE << order);
diff --git a/arch/sparc64/mm/generic.c b/arch/sparc64/mm/generic.c
index 112c316e7cd2..d9396c1721cd 100644
--- a/arch/sparc64/mm/generic.c
+++ b/arch/sparc64/mm/generic.c
@@ -15,6 +15,15 @@
15#include <asm/page.h> 15#include <asm/page.h>
16#include <asm/tlbflush.h> 16#include <asm/tlbflush.h>
17 17
18static inline pte_t mk_pte_io(unsigned long page, pgprot_t prot, int space)
19{
20 pte_t pte;
21 pte_val(pte) = (((page) | pgprot_val(prot) | _PAGE_E) &
22 ~(unsigned long)_PAGE_CACHE);
23 pte_val(pte) |= (((unsigned long)space) << 32);
24 return pte;
25}
26
18/* Remap IO memory, the same way as remap_pfn_range(), but use 27/* Remap IO memory, the same way as remap_pfn_range(), but use
19 * the obio memory space. 28 * the obio memory space.
20 * 29 *
@@ -126,9 +135,13 @@ int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from,
126 struct mm_struct *mm = vma->vm_mm; 135 struct mm_struct *mm = vma->vm_mm;
127 int space = GET_IOSPACE(pfn); 136 int space = GET_IOSPACE(pfn);
128 unsigned long offset = GET_PFN(pfn) << PAGE_SHIFT; 137 unsigned long offset = GET_PFN(pfn) << PAGE_SHIFT;
138 unsigned long phys_base;
139
140 phys_base = offset | (((unsigned long) space) << 32UL);
129 141
130 /* See comment in mm/memory.c remap_pfn_range */ 142 /* See comment in mm/memory.c remap_pfn_range */
131 vma->vm_flags |= VM_IO | VM_RESERVED; 143 vma->vm_flags |= VM_IO | VM_RESERVED | VM_PFNMAP;
144 vma->vm_pgoff = phys_base >> PAGE_SHIFT;
132 145
133 prot = __pgprot(pg_iobits); 146 prot = __pgprot(pg_iobits);
134 offset -= from; 147 offset -= from;
diff --git a/arch/um/Makefile b/arch/um/Makefile
index e55d32e903bc..1b12feeba368 100644
--- a/arch/um/Makefile
+++ b/arch/um/Makefile
@@ -17,7 +17,7 @@ core-y += $(ARCH_DIR)/kernel/ \
17 17
18# Have to precede the include because the included Makefiles reference them. 18# Have to precede the include because the included Makefiles reference them.
19SYMLINK_HEADERS := archparam.h system.h sigcontext.h processor.h ptrace.h \ 19SYMLINK_HEADERS := archparam.h system.h sigcontext.h processor.h ptrace.h \
20 module.h vm-flags.h elf.h 20 module.h vm-flags.h elf.h ldt.h
21SYMLINK_HEADERS := $(foreach header,$(SYMLINK_HEADERS),include/asm-um/$(header)) 21SYMLINK_HEADERS := $(foreach header,$(SYMLINK_HEADERS),include/asm-um/$(header))
22 22
23# XXX: The "os" symlink is only used by arch/um/include/os.h, which includes 23# XXX: The "os" symlink is only used by arch/um/include/os.h, which includes
diff --git a/arch/um/include/sysdep-i386/stub.h b/arch/um/include/sysdep-i386/stub.h
index a49ceb199ee5..6ba8cbbe0d36 100644
--- a/arch/um/include/sysdep-i386/stub.h
+++ b/arch/um/include/sysdep-i386/stub.h
@@ -16,6 +16,15 @@ extern void stub_clone_handler(void);
16#define STUB_MMAP_NR __NR_mmap2 16#define STUB_MMAP_NR __NR_mmap2
17#define MMAP_OFFSET(o) ((o) >> PAGE_SHIFT) 17#define MMAP_OFFSET(o) ((o) >> PAGE_SHIFT)
18 18
19static inline long stub_syscall0(long syscall)
20{
21 long ret;
22
23 __asm__ volatile ("int $0x80" : "=a" (ret) : "0" (syscall));
24
25 return ret;
26}
27
19static inline long stub_syscall1(long syscall, long arg1) 28static inline long stub_syscall1(long syscall, long arg1)
20{ 29{
21 long ret; 30 long ret;
diff --git a/arch/um/include/sysdep-x86_64/stub.h b/arch/um/include/sysdep-x86_64/stub.h
index 2bd6e7a97286..c41689c13dc9 100644
--- a/arch/um/include/sysdep-x86_64/stub.h
+++ b/arch/um/include/sysdep-x86_64/stub.h
@@ -6,7 +6,6 @@
6#ifndef __SYSDEP_STUB_H 6#ifndef __SYSDEP_STUB_H
7#define __SYSDEP_STUB_H 7#define __SYSDEP_STUB_H
8 8
9#include <asm/ptrace.h>
10#include <asm/unistd.h> 9#include <asm/unistd.h>
11#include <sysdep/ptrace_user.h> 10#include <sysdep/ptrace_user.h>
12 11
@@ -20,6 +19,17 @@ extern void stub_clone_handler(void);
20#define __syscall_clobber "r11","rcx","memory" 19#define __syscall_clobber "r11","rcx","memory"
21#define __syscall "syscall" 20#define __syscall "syscall"
22 21
22static inline long stub_syscall0(long syscall)
23{
24 long ret;
25
26 __asm__ volatile (__syscall
27 : "=a" (ret)
28 : "0" (syscall) : __syscall_clobber );
29
30 return ret;
31}
32
23static inline long stub_syscall2(long syscall, long arg1, long arg2) 33static inline long stub_syscall2(long syscall, long arg1, long arg2)
24{ 34{
25 long ret; 35 long ret;
diff --git a/arch/um/kernel/skas/clone.c b/arch/um/kernel/skas/clone.c
index 4dc55f10cd18..cb37ce9124a6 100644
--- a/arch/um/kernel/skas/clone.c
+++ b/arch/um/kernel/skas/clone.c
@@ -9,18 +9,24 @@
9#include "stub-data.h" 9#include "stub-data.h"
10#include "uml-config.h" 10#include "uml-config.h"
11#include "sysdep/stub.h" 11#include "sysdep/stub.h"
12#include "kern_constants.h"
12 13
13/* This is in a separate file because it needs to be compiled with any 14/* This is in a separate file because it needs to be compiled with any
14 * extraneous gcc flags (-pg, -fprofile-arcs, -ftest-coverage) disabled 15 * extraneous gcc flags (-pg, -fprofile-arcs, -ftest-coverage) disabled
16 *
17 * Use UM_KERN_PAGE_SIZE instead of PAGE_SIZE because that calls getpagesize
18 * on some systems.
15 */ 19 */
20
21#define STUB_DATA(field) (((struct stub_data *) UML_CONFIG_STUB_DATA)->field)
22
16void __attribute__ ((__section__ (".__syscall_stub"))) 23void __attribute__ ((__section__ (".__syscall_stub")))
17stub_clone_handler(void) 24stub_clone_handler(void)
18{ 25{
19 long err; 26 long err;
20 struct stub_data *from = (struct stub_data *) UML_CONFIG_STUB_DATA;
21 27
22 err = stub_syscall2(__NR_clone, CLONE_PARENT | CLONE_FILES | SIGCHLD, 28 err = stub_syscall2(__NR_clone, CLONE_PARENT | CLONE_FILES | SIGCHLD,
23 UML_CONFIG_STUB_DATA + PAGE_SIZE / 2 - 29 UML_CONFIG_STUB_DATA + UM_KERN_PAGE_SIZE / 2 -
24 sizeof(void *)); 30 sizeof(void *));
25 if(err != 0) 31 if(err != 0)
26 goto out; 32 goto out;
@@ -30,15 +36,16 @@ stub_clone_handler(void)
30 goto out; 36 goto out;
31 37
32 err = stub_syscall3(__NR_setitimer, ITIMER_VIRTUAL, 38 err = stub_syscall3(__NR_setitimer, ITIMER_VIRTUAL,
33 (long) &from->timer, 0); 39 (long) &STUB_DATA(timer), 0);
34 if(err) 40 if(err)
35 goto out; 41 goto out;
36 42
37 err = stub_syscall6(STUB_MMAP_NR, UML_CONFIG_STUB_DATA, PAGE_SIZE, 43 err = stub_syscall6(STUB_MMAP_NR, UML_CONFIG_STUB_DATA,
38 PROT_READ | PROT_WRITE, MAP_FIXED | MAP_SHARED, 44 UM_KERN_PAGE_SIZE, PROT_READ | PROT_WRITE,
39 from->fd, from->offset); 45 MAP_FIXED | MAP_SHARED, STUB_DATA(fd),
46 STUB_DATA(offset));
40 out: 47 out:
41 /* save current result. Parent: pid; child: retcode of mmap */ 48 /* save current result. Parent: pid; child: retcode of mmap */
42 from->err = err; 49 STUB_DATA(err) = err;
43 trap_myself(); 50 trap_myself();
44} 51}
diff --git a/arch/um/sys-i386/Makefile b/arch/um/sys-i386/Makefile
index 6dfeb70f6957..150059dbee12 100644
--- a/arch/um/sys-i386/Makefile
+++ b/arch/um/sys-i386/Makefile
@@ -5,7 +5,7 @@ obj-y = bitops.o bugs.o checksum.o delay.o fault.o ksyms.o ldt.o ptrace.o \
5obj-$(CONFIG_HIGHMEM) += highmem.o 5obj-$(CONFIG_HIGHMEM) += highmem.o
6obj-$(CONFIG_MODULES) += module.o 6obj-$(CONFIG_MODULES) += module.o
7 7
8USER_OBJS := bugs.o ptrace_user.o sigcontext.o fault.o 8USER_OBJS := bugs.o ptrace_user.o sigcontext.o fault.o stub_segv.o
9 9
10SYMLINKS = bitops.c semaphore.c highmem.c module.c 10SYMLINKS = bitops.c semaphore.c highmem.c module.c
11 11
diff --git a/arch/um/sys-i386/ldt.c b/arch/um/sys-i386/ldt.c
index 6360f1c958d0..17746b4c08ff 100644
--- a/arch/um/sys-i386/ldt.c
+++ b/arch/um/sys-i386/ldt.c
@@ -228,7 +228,7 @@ static int read_ldt(void __user * ptr, unsigned long bytecount)
228 size = LDT_ENTRY_SIZE*LDT_DIRECT_ENTRIES; 228 size = LDT_ENTRY_SIZE*LDT_DIRECT_ENTRIES;
229 if(size > bytecount) 229 if(size > bytecount)
230 size = bytecount; 230 size = bytecount;
231 if(copy_to_user(ptr, ldt->entries, size)) 231 if(copy_to_user(ptr, ldt->u.entries, size))
232 err = -EFAULT; 232 err = -EFAULT;
233 bytecount -= size; 233 bytecount -= size;
234 ptr += size; 234 ptr += size;
@@ -239,7 +239,7 @@ static int read_ldt(void __user * ptr, unsigned long bytecount)
239 size = PAGE_SIZE; 239 size = PAGE_SIZE;
240 if(size > bytecount) 240 if(size > bytecount)
241 size = bytecount; 241 size = bytecount;
242 if(copy_to_user(ptr, ldt->pages[i], size)){ 242 if(copy_to_user(ptr, ldt->u.pages[i], size)){
243 err = -EFAULT; 243 err = -EFAULT;
244 break; 244 break;
245 } 245 }
@@ -321,10 +321,11 @@ static int write_ldt(void __user * ptr, unsigned long bytecount, int func)
321 i*LDT_ENTRIES_PER_PAGE <= ldt_info.entry_number; 321 i*LDT_ENTRIES_PER_PAGE <= ldt_info.entry_number;
322 i++){ 322 i++){
323 if(i == 0) 323 if(i == 0)
324 memcpy(&entry0, ldt->entries, sizeof(entry0)); 324 memcpy(&entry0, ldt->u.entries,
325 ldt->pages[i] = (struct ldt_entry *) 325 sizeof(entry0));
326 __get_free_page(GFP_KERNEL|__GFP_ZERO); 326 ldt->u.pages[i] = (struct ldt_entry *)
327 if(!ldt->pages[i]){ 327 __get_free_page(GFP_KERNEL|__GFP_ZERO);
328 if(!ldt->u.pages[i]){
328 err = -ENOMEM; 329 err = -ENOMEM;
329 /* Undo the change in host */ 330 /* Undo the change in host */
330 memset(&ldt_info, 0, sizeof(ldt_info)); 331 memset(&ldt_info, 0, sizeof(ldt_info));
@@ -332,8 +333,9 @@ static int write_ldt(void __user * ptr, unsigned long bytecount, int func)
332 goto out_unlock; 333 goto out_unlock;
333 } 334 }
334 if(i == 0) { 335 if(i == 0) {
335 memcpy(ldt->pages[0], &entry0, sizeof(entry0)); 336 memcpy(ldt->u.pages[0], &entry0,
336 memcpy(ldt->pages[0]+1, ldt->entries+1, 337 sizeof(entry0));
338 memcpy(ldt->u.pages[0]+1, ldt->u.entries+1,
337 sizeof(entry0)*(LDT_DIRECT_ENTRIES-1)); 339 sizeof(entry0)*(LDT_DIRECT_ENTRIES-1));
338 } 340 }
339 ldt->entry_count = (i + 1) * LDT_ENTRIES_PER_PAGE; 341 ldt->entry_count = (i + 1) * LDT_ENTRIES_PER_PAGE;
@@ -343,9 +345,9 @@ static int write_ldt(void __user * ptr, unsigned long bytecount, int func)
343 ldt->entry_count = ldt_info.entry_number + 1; 345 ldt->entry_count = ldt_info.entry_number + 1;
344 346
345 if(ldt->entry_count <= LDT_DIRECT_ENTRIES) 347 if(ldt->entry_count <= LDT_DIRECT_ENTRIES)
346 ldt_p = ldt->entries + ldt_info.entry_number; 348 ldt_p = ldt->u.entries + ldt_info.entry_number;
347 else 349 else
348 ldt_p = ldt->pages[ldt_info.entry_number/LDT_ENTRIES_PER_PAGE] + 350 ldt_p = ldt->u.pages[ldt_info.entry_number/LDT_ENTRIES_PER_PAGE] +
349 ldt_info.entry_number%LDT_ENTRIES_PER_PAGE; 351 ldt_info.entry_number%LDT_ENTRIES_PER_PAGE;
350 352
351 if(ldt_info.base_addr == 0 && ldt_info.limit == 0 && 353 if(ldt_info.base_addr == 0 && ldt_info.limit == 0 &&
@@ -501,8 +503,8 @@ long init_new_ldt(struct mmu_context_skas * new_mm,
501 */ 503 */
502 down(&from_mm->ldt.semaphore); 504 down(&from_mm->ldt.semaphore);
503 if(from_mm->ldt.entry_count <= LDT_DIRECT_ENTRIES){ 505 if(from_mm->ldt.entry_count <= LDT_DIRECT_ENTRIES){
504 memcpy(new_mm->ldt.entries, from_mm->ldt.entries, 506 memcpy(new_mm->ldt.u.entries, from_mm->ldt.u.entries,
505 sizeof(new_mm->ldt.entries)); 507 sizeof(new_mm->ldt.u.entries));
506 } 508 }
507 else{ 509 else{
508 i = from_mm->ldt.entry_count / LDT_ENTRIES_PER_PAGE; 510 i = from_mm->ldt.entry_count / LDT_ENTRIES_PER_PAGE;
@@ -512,9 +514,10 @@ long init_new_ldt(struct mmu_context_skas * new_mm,
512 err = -ENOMEM; 514 err = -ENOMEM;
513 break; 515 break;
514 } 516 }
515 new_mm->ldt.pages[i] = (struct ldt_entry*)page; 517 new_mm->ldt.u.pages[i] =
516 memcpy(new_mm->ldt.pages[i], 518 (struct ldt_entry *) page;
517 from_mm->ldt.pages[i], PAGE_SIZE); 519 memcpy(new_mm->ldt.u.pages[i],
520 from_mm->ldt.u.pages[i], PAGE_SIZE);
518 } 521 }
519 } 522 }
520 new_mm->ldt.entry_count = from_mm->ldt.entry_count; 523 new_mm->ldt.entry_count = from_mm->ldt.entry_count;
@@ -532,7 +535,7 @@ void free_ldt(struct mmu_context_skas * mm)
532 if(!ptrace_ldt && mm->ldt.entry_count > LDT_DIRECT_ENTRIES){ 535 if(!ptrace_ldt && mm->ldt.entry_count > LDT_DIRECT_ENTRIES){
533 i = mm->ldt.entry_count / LDT_ENTRIES_PER_PAGE; 536 i = mm->ldt.entry_count / LDT_ENTRIES_PER_PAGE;
534 while(i-- > 0){ 537 while(i-- > 0){
535 free_page((long )mm->ldt.pages[i]); 538 free_page((long )mm->ldt.u.pages[i]);
536 } 539 }
537 } 540 }
538 mm->ldt.entry_count = 0; 541 mm->ldt.entry_count = 0;
diff --git a/arch/um/sys-i386/stub_segv.c b/arch/um/sys-i386/stub_segv.c
index 1e88b275edac..a37f672ec964 100644
--- a/arch/um/sys-i386/stub_segv.c
+++ b/arch/um/sys-i386/stub_segv.c
@@ -3,9 +3,11 @@
3 * Licensed under the GPL 3 * Licensed under the GPL
4 */ 4 */
5 5
6#include <asm/signal.h> 6#include <signal.h>
7#include <sys/select.h> /* The only way I can see to get sigset_t */
7#include <asm/unistd.h> 8#include <asm/unistd.h>
8#include "uml-config.h" 9#include "uml-config.h"
10#include "sysdep/stub.h"
9#include "sysdep/sigcontext.h" 11#include "sysdep/sigcontext.h"
10#include "sysdep/faultinfo.h" 12#include "sysdep/faultinfo.h"
11 13
@@ -13,13 +15,14 @@ void __attribute__ ((__section__ (".__syscall_stub")))
13stub_segv_handler(int sig) 15stub_segv_handler(int sig)
14{ 16{
15 struct sigcontext *sc = (struct sigcontext *) (&sig + 1); 17 struct sigcontext *sc = (struct sigcontext *) (&sig + 1);
18 int pid;
16 19
17 GET_FAULTINFO_FROM_SC(*((struct faultinfo *) UML_CONFIG_STUB_DATA), 20 GET_FAULTINFO_FROM_SC(*((struct faultinfo *) UML_CONFIG_STUB_DATA),
18 sc); 21 sc);
19 22
20 __asm__("movl %0, %%eax ; int $0x80": : "g" (__NR_getpid)); 23 pid = stub_syscall0(__NR_getpid);
21 __asm__("movl %%eax, %%ebx ; movl %0, %%eax ; movl %1, %%ecx ;" 24 stub_syscall2(__NR_kill, pid, SIGUSR1);
22 "int $0x80": : "g" (__NR_kill), "g" (SIGUSR1)); 25
23 /* Load pointer to sigcontext into esp, since we need to leave 26 /* Load pointer to sigcontext into esp, since we need to leave
24 * the stack in its original form when we do the sigreturn here, by 27 * the stack in its original form when we do the sigreturn here, by
25 * hand. 28 * hand.
diff --git a/arch/um/sys-x86_64/Makefile b/arch/um/sys-x86_64/Makefile
index ea977df395a1..00b2025427df 100644
--- a/arch/um/sys-x86_64/Makefile
+++ b/arch/um/sys-x86_64/Makefile
@@ -12,7 +12,7 @@ lib-y = bitops.o bugs.o csum-partial.o delay.o fault.o ldt.o mem.o memcpy.o \
12obj-y := ksyms.o 12obj-y := ksyms.o
13obj-$(CONFIG_MODULES) += module.o um_module.o 13obj-$(CONFIG_MODULES) += module.o um_module.o
14 14
15USER_OBJS := ptrace_user.o sigcontext.o 15USER_OBJS := ptrace_user.o sigcontext.o stub_segv.o
16 16
17SYMLINKS = bitops.c csum-copy.S csum-partial.c csum-wrappers.c ldt.c memcpy.S \ 17SYMLINKS = bitops.c csum-copy.S csum-partial.c csum-wrappers.c ldt.c memcpy.S \
18 thunk.S module.c 18 thunk.S module.c
diff --git a/arch/um/sys-x86_64/stub_segv.c b/arch/um/sys-x86_64/stub_segv.c
index d1e53bdf2e85..a27099533198 100644
--- a/arch/um/sys-x86_64/stub_segv.c
+++ b/arch/um/sys-x86_64/stub_segv.c
@@ -3,14 +3,14 @@
3 * Licensed under the GPL 3 * Licensed under the GPL
4 */ 4 */
5 5
6#include <asm/signal.h> 6#include <stddef.h>
7#include <signal.h>
7#include <linux/compiler.h> 8#include <linux/compiler.h>
8#include <asm/unistd.h> 9#include <asm/unistd.h>
9#include <asm/ucontext.h>
10#include "uml-config.h" 10#include "uml-config.h"
11#include "sysdep/sigcontext.h" 11#include "sysdep/sigcontext.h"
12#include "sysdep/faultinfo.h" 12#include "sysdep/faultinfo.h"
13#include <stddef.h> 13#include "sysdep/stub.h"
14 14
15/* Copied from sys-x86_64/signal.c - Can't find an equivalent definition 15/* Copied from sys-x86_64/signal.c - Can't find an equivalent definition
16 * in the libc headers anywhere. 16 * in the libc headers anywhere.
@@ -31,21 +31,21 @@ void __attribute__ ((__section__ (".__syscall_stub")))
31stub_segv_handler(int sig) 31stub_segv_handler(int sig)
32{ 32{
33 struct ucontext *uc; 33 struct ucontext *uc;
34 int pid;
34 35
35 __asm__("movq %%rdx, %0" : "=g" (uc) :); 36 __asm__("movq %%rdx, %0" : "=g" (uc) :);
36 GET_FAULTINFO_FROM_SC(*((struct faultinfo *) UML_CONFIG_STUB_DATA), 37 GET_FAULTINFO_FROM_SC(*((struct faultinfo *) UML_CONFIG_STUB_DATA),
37 &uc->uc_mcontext); 38 &uc->uc_mcontext);
38 39
39 __asm__("movq %0, %%rax ; syscall": : "g" (__NR_getpid)); 40 pid = stub_syscall0(__NR_getpid);
40 __asm__("movq %%rax, %%rdi ; movq %0, %%rax ; movq %1, %%rsi ;" 41 stub_syscall2(__NR_kill, pid, SIGUSR1);
41 "syscall": : "g" (__NR_kill), "g" (SIGUSR1) : 42
42 "%rdi", "%rax", "%rsi");
43 /* sys_sigreturn expects that the stack pointer will be 8 bytes into 43 /* sys_sigreturn expects that the stack pointer will be 8 bytes into
44 * the signal frame. So, we use the ucontext pointer, which we know 44 * the signal frame. So, we use the ucontext pointer, which we know
45 * already, to get the signal frame pointer, and add 8 to that. 45 * already, to get the signal frame pointer, and add 8 to that.
46 */ 46 */
47 __asm__("movq %0, %%rsp": : 47 __asm__("movq %0, %%rsp; movq %1, %%rax ; syscall": :
48 "g" ((unsigned long) container_of(uc, struct rt_sigframe, 48 "g" ((unsigned long) container_of(uc, struct rt_sigframe,
49 uc) + 8)); 49 uc) + 8),
50 __asm__("movq %0, %%rax ; syscall" : : "g" (__NR_rt_sigreturn)); 50 "g" (__NR_rt_sigreturn));
51} 51}
diff --git a/arch/x86_64/kernel/process.c b/arch/x86_64/kernel/process.c
index 5afd63e8cef7..7519fc520eb3 100644
--- a/arch/x86_64/kernel/process.c
+++ b/arch/x86_64/kernel/process.c
@@ -351,13 +351,6 @@ void flush_thread(void)
351 struct task_struct *tsk = current; 351 struct task_struct *tsk = current;
352 struct thread_info *t = current_thread_info(); 352 struct thread_info *t = current_thread_info();
353 353
354 /*
355 * Remove function-return probe instances associated with this task
356 * and put them back on the free list. Do not insert an exit probe for
357 * this function, it will be disabled by kprobe_flush_task if you do.
358 */
359 kprobe_flush_task(tsk);
360
361 if (t->flags & _TIF_ABI_PENDING) 354 if (t->flags & _TIF_ABI_PENDING)
362 t->flags ^= (_TIF_ABI_PENDING | _TIF_IA32); 355 t->flags ^= (_TIF_ABI_PENDING | _TIF_IA32);
363 356