aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2008-03-19 17:59:44 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2008-03-19 17:59:44 -0400
commitc7c350e92aab1bba68f26a6027b734adcf9824ba (patch)
treeaa99bd94c3049dd871d9c030d70a5f3d87591a95 /arch/mips
parent2f42b5d043ee271d1e5d30ecd77186b6c4d4e534 (diff)
parentf8512ad0da16cbe156f3a7627971cdf0b39c4138 (diff)
Merge branch 'hotfixes' into devel
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/Kconfig2
-rw-r--r--arch/mips/Makefile2
-rw-r--r--arch/mips/au1000/common/dbdma.c34
-rw-r--r--arch/mips/defconfig1158
-rw-r--r--arch/mips/kernel/Makefile1
-rw-r--r--arch/mips/kernel/cpu-bugs64.c4
-rw-r--r--arch/mips/kernel/cpu-probe.c10
-rw-r--r--arch/mips/kernel/csrc-r4k.c7
-rw-r--r--arch/mips/kernel/head.S2
-rw-r--r--arch/mips/kernel/traps.c38
-rw-r--r--arch/mips/lib/ucmpdi2.c2
-rw-r--r--arch/mips/lib/uncached.c2
-rw-r--r--arch/mips/mips-boards/generic/time.c2
-rw-r--r--arch/mips/mipssim/sim_time.c2
-rw-r--r--arch/mips/mm/c-r3k.c2
-rw-r--r--arch/mips/mm/c-r4k.c30
-rw-r--r--arch/mips/mm/c-tx39.c2
-rw-r--r--arch/mips/mm/cache.c5
-rw-r--r--arch/mips/mm/cex-sb1.S4
-rw-r--r--arch/mips/mm/pg-r4k.c22
-rw-r--r--arch/mips/mm/pg-sb1.c4
-rw-r--r--arch/mips/mm/sc-ip22.c2
-rw-r--r--arch/mips/mm/sc-mips.c3
-rw-r--r--arch/mips/mm/sc-r5k.c2
-rw-r--r--arch/mips/mm/sc-rm7k.c2
-rw-r--r--arch/mips/mm/tlb-r3k.c2
-rw-r--r--arch/mips/mm/tlb-r4k.c10
-rw-r--r--arch/mips/mm/tlb-r8k.c4
-rw-r--r--arch/mips/mm/tlbex.c70
-rw-r--r--arch/mips/mm/uasm.c68
-rw-r--r--arch/mips/mm/uasm.h76
-rw-r--r--arch/mips/pci/pci-bcm1480.c5
-rw-r--r--arch/mips/pci/pci-ip27.c2
-rw-r--r--arch/mips/pci/pci.c2
-rw-r--r--arch/mips/pmc-sierra/yosemite/smp.c6
-rw-r--r--arch/mips/sgi-ip27/ip27-init.c2
-rw-r--r--arch/mips/sgi-ip27/ip27-timer.c2
-rw-r--r--arch/mips/sgi-ip27/ip27-xtalk.c6
38 files changed, 230 insertions, 1369 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index ade230d445d9..8724ed3298d3 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1824,7 +1824,7 @@ choice
1824 Allows the configuration of the timer frequency. 1824 Allows the configuration of the timer frequency.
1825 1825
1826 config HZ_48 1826 config HZ_48
1827 bool "48 HZ" if SYS_SUPPORTS_48HZ 1827 bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ
1828 1828
1829 config HZ_100 1829 config HZ_100
1830 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ 1830 bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index 3fb7f3065c92..72097dacabd3 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -12,6 +12,8 @@
12# for "archclean" cleaning up for this architecture. 12# for "archclean" cleaning up for this architecture.
13# 13#
14 14
15KBUILD_DEFCONFIG := ip22_defconfig
16
15cflags-y := 17cflags-y :=
16 18
17# 19#
diff --git a/arch/mips/au1000/common/dbdma.c b/arch/mips/au1000/common/dbdma.c
index 428ed275a0f6..57f17b41098d 100644
--- a/arch/mips/au1000/common/dbdma.c
+++ b/arch/mips/au1000/common/dbdma.c
@@ -161,22 +161,22 @@ static dbdev_tab_t dbdev_tab[] = {
161 { DSCR_CMD0_ALWAYS, DEV_FLAGS_ANYUSE, 0, 0, 0x00000000, 0, 0 }, 161 { DSCR_CMD0_ALWAYS, DEV_FLAGS_ANYUSE, 0, 0, 0x00000000, 0, 0 },
162 162
163 /* Provide 16 user definable device types */ 163 /* Provide 16 user definable device types */
164 { 0, 0, 0, 0, 0, 0, 0 }, 164 { ~0, 0, 0, 0, 0, 0, 0 },
165 { 0, 0, 0, 0, 0, 0, 0 }, 165 { ~0, 0, 0, 0, 0, 0, 0 },
166 { 0, 0, 0, 0, 0, 0, 0 }, 166 { ~0, 0, 0, 0, 0, 0, 0 },
167 { 0, 0, 0, 0, 0, 0, 0 }, 167 { ~0, 0, 0, 0, 0, 0, 0 },
168 { 0, 0, 0, 0, 0, 0, 0 }, 168 { ~0, 0, 0, 0, 0, 0, 0 },
169 { 0, 0, 0, 0, 0, 0, 0 }, 169 { ~0, 0, 0, 0, 0, 0, 0 },
170 { 0, 0, 0, 0, 0, 0, 0 }, 170 { ~0, 0, 0, 0, 0, 0, 0 },
171 { 0, 0, 0, 0, 0, 0, 0 }, 171 { ~0, 0, 0, 0, 0, 0, 0 },
172 { 0, 0, 0, 0, 0, 0, 0 }, 172 { ~0, 0, 0, 0, 0, 0, 0 },
173 { 0, 0, 0, 0, 0, 0, 0 }, 173 { ~0, 0, 0, 0, 0, 0, 0 },
174 { 0, 0, 0, 0, 0, 0, 0 }, 174 { ~0, 0, 0, 0, 0, 0, 0 },
175 { 0, 0, 0, 0, 0, 0, 0 }, 175 { ~0, 0, 0, 0, 0, 0, 0 },
176 { 0, 0, 0, 0, 0, 0, 0 }, 176 { ~0, 0, 0, 0, 0, 0, 0 },
177 { 0, 0, 0, 0, 0, 0, 0 }, 177 { ~0, 0, 0, 0, 0, 0, 0 },
178 { 0, 0, 0, 0, 0, 0, 0 }, 178 { ~0, 0, 0, 0, 0, 0, 0 },
179 { 0, 0, 0, 0, 0, 0, 0 }, 179 { ~0, 0, 0, 0, 0, 0, 0 },
180}; 180};
181 181
182#define DBDEV_TAB_SIZE ARRAY_SIZE(dbdev_tab) 182#define DBDEV_TAB_SIZE ARRAY_SIZE(dbdev_tab)
@@ -209,7 +209,7 @@ au1xxx_ddma_add_device(dbdev_tab_t *dev)
209 dbdev_tab_t *p=NULL; 209 dbdev_tab_t *p=NULL;
210 static u16 new_id=0x1000; 210 static u16 new_id=0x1000;
211 211
212 p = find_dbdev_id(0); 212 p = find_dbdev_id(~0);
213 if ( NULL != p ) 213 if ( NULL != p )
214 { 214 {
215 memcpy(p, dev, sizeof(dbdev_tab_t)); 215 memcpy(p, dev, sizeof(dbdev_tab_t));
diff --git a/arch/mips/defconfig b/arch/mips/defconfig
deleted file mode 100644
index 4f5e56c9335e..000000000000
--- a/arch/mips/defconfig
+++ /dev/null
@@ -1,1158 +0,0 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc2
4# Tue Aug 7 12:39:49 2007
5#
6CONFIG_MIPS=y
7
8#
9# Machine selection
10#
11CONFIG_ZONE_DMA=y
12# CONFIG_MACH_ALCHEMY is not set
13# CONFIG_BASLER_EXCITE is not set
14# CONFIG_MIPS_COBALT is not set
15# CONFIG_MACH_DECSTATION is not set
16# CONFIG_MACH_JAZZ is not set
17# CONFIG_LEMOTE_FULONG is not set
18# CONFIG_MIPS_ATLAS is not set
19# CONFIG_MIPS_MALTA is not set
20# CONFIG_MIPS_SEAD is not set
21# CONFIG_MIPS_SIM is not set
22# CONFIG_MARKEINS is not set
23# CONFIG_MACH_VR41XX is not set
24# CONFIG_PNX8550_JBS is not set
25# CONFIG_PNX8550_STB810 is not set
26# CONFIG_PMC_MSP is not set
27# CONFIG_PMC_YOSEMITE is not set
28CONFIG_SGI_IP22=y
29# CONFIG_SGI_IP27 is not set
30# CONFIG_SGI_IP32 is not set
31# CONFIG_SIBYTE_CRHINE is not set
32# CONFIG_SIBYTE_CARMEL is not set
33# CONFIG_SIBYTE_CRHONE is not set
34# CONFIG_SIBYTE_RHONE is not set
35# CONFIG_SIBYTE_SWARM is not set
36# CONFIG_SIBYTE_LITTLESUR is not set
37# CONFIG_SIBYTE_SENTOSA is not set
38# CONFIG_SIBYTE_BIGSUR is not set
39# CONFIG_SNI_RM is not set
40# CONFIG_TOSHIBA_JMR3927 is not set
41# CONFIG_TOSHIBA_RBTX4927 is not set
42# CONFIG_TOSHIBA_RBTX4938 is not set
43# CONFIG_WR_PPMC is not set
44CONFIG_RWSEM_GENERIC_SPINLOCK=y
45# CONFIG_ARCH_HAS_ILOG2_U32 is not set
46# CONFIG_ARCH_HAS_ILOG2_U64 is not set
47CONFIG_GENERIC_FIND_NEXT_BIT=y
48CONFIG_GENERIC_HWEIGHT=y
49CONFIG_GENERIC_CALIBRATE_DELAY=y
50CONFIG_GENERIC_TIME=y
51CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
52# CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set
53CONFIG_ARC=y
54CONFIG_DMA_NONCOHERENT=y
55CONFIG_DMA_NEED_PCI_MAP_STATE=y
56CONFIG_EARLY_PRINTK=y
57CONFIG_SYS_HAS_EARLY_PRINTK=y
58# CONFIG_NO_IOPORT is not set
59CONFIG_GENERIC_ISA_DMA_SUPPORT_BROKEN=y
60CONFIG_CPU_BIG_ENDIAN=y
61# CONFIG_CPU_LITTLE_ENDIAN is not set
62CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
63CONFIG_IRQ_CPU=y
64CONFIG_SWAP_IO_SPACE=y
65CONFIG_ARC32=y
66CONFIG_BOOT_ELF32=y
67CONFIG_MIPS_L1_CACHE_SHIFT=5
68CONFIG_ARC_CONSOLE=y
69CONFIG_ARC_PROMLIB=y
70
71#
72# CPU selection
73#
74# CONFIG_CPU_LOONGSON2 is not set
75# CONFIG_CPU_MIPS32_R1 is not set
76# CONFIG_CPU_MIPS32_R2 is not set
77# CONFIG_CPU_MIPS64_R1 is not set
78# CONFIG_CPU_MIPS64_R2 is not set
79# CONFIG_CPU_R3000 is not set
80# CONFIG_CPU_TX39XX is not set
81# CONFIG_CPU_VR41XX is not set
82# CONFIG_CPU_R4300 is not set
83# CONFIG_CPU_R4X00 is not set
84# CONFIG_CPU_TX49XX is not set
85CONFIG_CPU_R5000=y
86# CONFIG_CPU_R5432 is not set
87# CONFIG_CPU_R6000 is not set
88# CONFIG_CPU_NEVADA is not set
89# CONFIG_CPU_R8000 is not set
90# CONFIG_CPU_R10000 is not set
91# CONFIG_CPU_RM7000 is not set
92# CONFIG_CPU_RM9000 is not set
93# CONFIG_CPU_SB1 is not set
94CONFIG_SYS_HAS_CPU_R4X00=y
95CONFIG_SYS_HAS_CPU_R5000=y
96CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
97CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
98CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
99CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
100
101#
102# Kernel type
103#
104CONFIG_32BIT=y
105# CONFIG_64BIT is not set
106CONFIG_PAGE_SIZE_4KB=y
107# CONFIG_PAGE_SIZE_8KB is not set
108# CONFIG_PAGE_SIZE_16KB is not set
109# CONFIG_PAGE_SIZE_64KB is not set
110CONFIG_BOARD_SCACHE=y
111CONFIG_IP22_CPU_SCACHE=y
112CONFIG_MIPS_MT_DISABLED=y
113# CONFIG_MIPS_MT_SMP is not set
114# CONFIG_MIPS_MT_SMTC is not set
115CONFIG_CPU_HAS_LLSC=y
116CONFIG_CPU_HAS_SYNC=y
117CONFIG_GENERIC_HARDIRQS=y
118CONFIG_GENERIC_IRQ_PROBE=y
119CONFIG_ARCH_FLATMEM_ENABLE=y
120CONFIG_SELECT_MEMORY_MODEL=y
121CONFIG_FLATMEM_MANUAL=y
122# CONFIG_DISCONTIGMEM_MANUAL is not set
123# CONFIG_SPARSEMEM_MANUAL is not set
124CONFIG_FLATMEM=y
125CONFIG_FLAT_NODE_MEM_MAP=y
126# CONFIG_SPARSEMEM_STATIC is not set
127CONFIG_SPLIT_PTLOCK_CPUS=4
128# CONFIG_RESOURCES_64BIT is not set
129CONFIG_ZONE_DMA_FLAG=1
130CONFIG_BOUNCE=y
131CONFIG_VIRT_TO_BUS=y
132# CONFIG_HZ_48 is not set
133# CONFIG_HZ_100 is not set
134# CONFIG_HZ_128 is not set
135# CONFIG_HZ_250 is not set
136# CONFIG_HZ_256 is not set
137CONFIG_HZ_1000=y
138# CONFIG_HZ_1024 is not set
139CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
140CONFIG_HZ=1000
141# CONFIG_PREEMPT_NONE is not set
142CONFIG_PREEMPT_VOLUNTARY=y
143# CONFIG_PREEMPT is not set
144# CONFIG_KEXEC is not set
145CONFIG_SECCOMP=y
146CONFIG_LOCKDEP_SUPPORT=y
147CONFIG_STACKTRACE_SUPPORT=y
148CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
149
150#
151# General setup
152#
153CONFIG_EXPERIMENTAL=y
154CONFIG_BROKEN_ON_SMP=y
155CONFIG_INIT_ENV_ARG_LIMIT=32
156CONFIG_LOCALVERSION=""
157CONFIG_LOCALVERSION_AUTO=y
158CONFIG_SWAP=y
159CONFIG_SYSVIPC=y
160CONFIG_SYSVIPC_SYSCTL=y
161# CONFIG_POSIX_MQUEUE is not set
162# CONFIG_BSD_PROCESS_ACCT is not set
163# CONFIG_TASKSTATS is not set
164# CONFIG_USER_NS is not set
165# CONFIG_AUDIT is not set
166CONFIG_IKCONFIG=y
167CONFIG_IKCONFIG_PROC=y
168CONFIG_LOG_BUF_SHIFT=14
169CONFIG_SYSFS_DEPRECATED=y
170CONFIG_RELAY=y
171# CONFIG_BLK_DEV_INITRD is not set
172# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
173CONFIG_SYSCTL=y
174CONFIG_EMBEDDED=y
175CONFIG_SYSCTL_SYSCALL=y
176CONFIG_KALLSYMS=y
177# CONFIG_KALLSYMS_EXTRA_PASS is not set
178# CONFIG_HOTPLUG is not set
179CONFIG_PRINTK=y
180CONFIG_BUG=y
181CONFIG_ELF_CORE=y
182CONFIG_BASE_FULL=y
183CONFIG_FUTEX=y
184CONFIG_ANON_INODES=y
185CONFIG_EPOLL=y
186CONFIG_SIGNALFD=y
187CONFIG_TIMERFD=y
188CONFIG_EVENTFD=y
189CONFIG_SHMEM=y
190CONFIG_VM_EVENT_COUNTERS=y
191CONFIG_SLAB=y
192# CONFIG_SLUB is not set
193# CONFIG_SLOB is not set
194CONFIG_RT_MUTEXES=y
195# CONFIG_TINY_SHMEM is not set
196CONFIG_BASE_SMALL=0
197CONFIG_MODULES=y
198CONFIG_MODULE_UNLOAD=y
199# CONFIG_MODULE_FORCE_UNLOAD is not set
200CONFIG_MODVERSIONS=y
201CONFIG_MODULE_SRCVERSION_ALL=y
202CONFIG_KMOD=y
203CONFIG_BLOCK=y
204# CONFIG_LBD is not set
205# CONFIG_BLK_DEV_IO_TRACE is not set
206# CONFIG_LSF is not set
207# CONFIG_BLK_DEV_BSG is not set
208
209#
210# IO Schedulers
211#
212CONFIG_IOSCHED_NOOP=y
213CONFIG_IOSCHED_AS=y
214CONFIG_IOSCHED_DEADLINE=y
215CONFIG_IOSCHED_CFQ=y
216CONFIG_DEFAULT_AS=y
217# CONFIG_DEFAULT_DEADLINE is not set
218# CONFIG_DEFAULT_CFQ is not set
219# CONFIG_DEFAULT_NOOP is not set
220CONFIG_DEFAULT_IOSCHED="anticipatory"
221
222#
223# Bus options (PCI, PCMCIA, EISA, ISA, TC)
224#
225CONFIG_HW_HAS_EISA=y
226# CONFIG_ARCH_SUPPORTS_MSI is not set
227# CONFIG_EISA is not set
228CONFIG_MMU=y
229
230#
231# PCCARD (PCMCIA/CardBus) support
232#
233
234#
235# Executable file formats
236#
237CONFIG_BINFMT_ELF=y
238CONFIG_BINFMT_MISC=m
239CONFIG_TRAD_SIGNALS=y
240
241#
242# Power management options
243#
244CONFIG_PM=y
245# CONFIG_PM_LEGACY is not set
246# CONFIG_PM_DEBUG is not set
247# CONFIG_SUSPEND is not set
248
249#
250# Networking
251#
252CONFIG_NET=y
253
254#
255# Networking options
256#
257CONFIG_PACKET=y
258CONFIG_PACKET_MMAP=y
259CONFIG_UNIX=y
260CONFIG_XFRM=y
261CONFIG_XFRM_USER=m
262# CONFIG_XFRM_SUB_POLICY is not set
263CONFIG_XFRM_MIGRATE=y
264CONFIG_NET_KEY=y
265CONFIG_NET_KEY_MIGRATE=y
266CONFIG_INET=y
267CONFIG_IP_MULTICAST=y
268# CONFIG_IP_ADVANCED_ROUTER is not set
269CONFIG_IP_FIB_HASH=y
270CONFIG_IP_PNP=y
271# CONFIG_IP_PNP_DHCP is not set
272CONFIG_IP_PNP_BOOTP=y
273# CONFIG_IP_PNP_RARP is not set
274# CONFIG_NET_IPIP is not set
275# CONFIG_NET_IPGRE is not set
276# CONFIG_IP_MROUTE is not set
277# CONFIG_ARPD is not set
278# CONFIG_SYN_COOKIES is not set
279CONFIG_INET_AH=m
280CONFIG_INET_ESP=m
281CONFIG_INET_IPCOMP=m
282CONFIG_INET_XFRM_TUNNEL=m
283CONFIG_INET_TUNNEL=m
284CONFIG_INET_XFRM_MODE_TRANSPORT=m
285CONFIG_INET_XFRM_MODE_TUNNEL=m
286CONFIG_INET_XFRM_MODE_BEET=m
287CONFIG_INET_DIAG=y
288CONFIG_INET_TCP_DIAG=y
289# CONFIG_TCP_CONG_ADVANCED is not set
290CONFIG_TCP_CONG_CUBIC=y
291CONFIG_DEFAULT_TCP_CONG="cubic"
292CONFIG_TCP_MD5SIG=y
293CONFIG_IP_VS=m
294# CONFIG_IP_VS_DEBUG is not set
295CONFIG_IP_VS_TAB_BITS=12
296
297#
298# IPVS transport protocol load balancing support
299#
300CONFIG_IP_VS_PROTO_TCP=y
301CONFIG_IP_VS_PROTO_UDP=y
302CONFIG_IP_VS_PROTO_ESP=y
303CONFIG_IP_VS_PROTO_AH=y
304
305#
306# IPVS scheduler
307#
308CONFIG_IP_VS_RR=m
309CONFIG_IP_VS_WRR=m
310CONFIG_IP_VS_LC=m
311CONFIG_IP_VS_WLC=m
312CONFIG_IP_VS_LBLC=m
313CONFIG_IP_VS_LBLCR=m
314CONFIG_IP_VS_DH=m
315CONFIG_IP_VS_SH=m
316CONFIG_IP_VS_SED=m
317CONFIG_IP_VS_NQ=m
318
319#
320# IPVS application helper
321#
322CONFIG_IP_VS_FTP=m
323CONFIG_IPV6=m
324CONFIG_IPV6_PRIVACY=y
325CONFIG_IPV6_ROUTER_PREF=y
326CONFIG_IPV6_ROUTE_INFO=y
327CONFIG_IPV6_OPTIMISTIC_DAD=y
328CONFIG_INET6_AH=m
329CONFIG_INET6_ESP=m
330CONFIG_INET6_IPCOMP=m
331CONFIG_IPV6_MIP6=m
332CONFIG_INET6_XFRM_TUNNEL=m
333CONFIG_INET6_TUNNEL=m
334CONFIG_INET6_XFRM_MODE_TRANSPORT=m
335CONFIG_INET6_XFRM_MODE_TUNNEL=m
336CONFIG_INET6_XFRM_MODE_BEET=m
337CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
338CONFIG_IPV6_SIT=m
339CONFIG_IPV6_TUNNEL=m
340CONFIG_IPV6_MULTIPLE_TABLES=y
341CONFIG_IPV6_SUBTREES=y
342CONFIG_NETWORK_SECMARK=y
343CONFIG_NETFILTER=y
344# CONFIG_NETFILTER_DEBUG is not set
345
346#
347# Core Netfilter Configuration
348#
349CONFIG_NETFILTER_NETLINK=m
350CONFIG_NETFILTER_NETLINK_QUEUE=m
351CONFIG_NETFILTER_NETLINK_LOG=m
352CONFIG_NF_CONNTRACK_ENABLED=m
353CONFIG_NF_CONNTRACK=m
354CONFIG_NF_CT_ACCT=y
355CONFIG_NF_CONNTRACK_MARK=y
356CONFIG_NF_CONNTRACK_SECMARK=y
357CONFIG_NF_CONNTRACK_EVENTS=y
358CONFIG_NF_CT_PROTO_GRE=m
359CONFIG_NF_CT_PROTO_SCTP=m
360CONFIG_NF_CT_PROTO_UDPLITE=m
361CONFIG_NF_CONNTRACK_AMANDA=m
362CONFIG_NF_CONNTRACK_FTP=m
363CONFIG_NF_CONNTRACK_H323=m
364CONFIG_NF_CONNTRACK_IRC=m
365# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
366CONFIG_NF_CONNTRACK_PPTP=m
367CONFIG_NF_CONNTRACK_SANE=m
368CONFIG_NF_CONNTRACK_SIP=m
369CONFIG_NF_CONNTRACK_TFTP=m
370CONFIG_NF_CT_NETLINK=m
371CONFIG_NETFILTER_XTABLES=m
372CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
373CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
374CONFIG_NETFILTER_XT_TARGET_DSCP=m
375CONFIG_NETFILTER_XT_TARGET_MARK=m
376CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
377CONFIG_NETFILTER_XT_TARGET_NFLOG=m
378CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
379CONFIG_NETFILTER_XT_TARGET_TRACE=m
380CONFIG_NETFILTER_XT_TARGET_SECMARK=m
381CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
382CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
383CONFIG_NETFILTER_XT_MATCH_COMMENT=m
384CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
385CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
386CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
387CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
388CONFIG_NETFILTER_XT_MATCH_DCCP=m
389CONFIG_NETFILTER_XT_MATCH_DSCP=m
390CONFIG_NETFILTER_XT_MATCH_ESP=m
391CONFIG_NETFILTER_XT_MATCH_HELPER=m
392CONFIG_NETFILTER_XT_MATCH_LENGTH=m
393CONFIG_NETFILTER_XT_MATCH_LIMIT=m
394CONFIG_NETFILTER_XT_MATCH_MAC=m
395CONFIG_NETFILTER_XT_MATCH_MARK=m
396CONFIG_NETFILTER_XT_MATCH_POLICY=m
397CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
398CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
399CONFIG_NETFILTER_XT_MATCH_QUOTA=m
400CONFIG_NETFILTER_XT_MATCH_REALM=m
401CONFIG_NETFILTER_XT_MATCH_SCTP=m
402CONFIG_NETFILTER_XT_MATCH_STATE=m
403CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
404CONFIG_NETFILTER_XT_MATCH_STRING=m
405CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
406CONFIG_NETFILTER_XT_MATCH_U32=m
407CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
408
409#
410# IP: Netfilter Configuration
411#
412CONFIG_NF_CONNTRACK_IPV4=m
413CONFIG_NF_CONNTRACK_PROC_COMPAT=y
414CONFIG_IP_NF_QUEUE=m
415CONFIG_IP_NF_IPTABLES=m
416CONFIG_IP_NF_MATCH_IPRANGE=m
417CONFIG_IP_NF_MATCH_TOS=m
418CONFIG_IP_NF_MATCH_RECENT=m
419CONFIG_IP_NF_MATCH_ECN=m
420CONFIG_IP_NF_MATCH_AH=m
421CONFIG_IP_NF_MATCH_TTL=m
422CONFIG_IP_NF_MATCH_OWNER=m
423CONFIG_IP_NF_MATCH_ADDRTYPE=m
424CONFIG_IP_NF_FILTER=m
425CONFIG_IP_NF_TARGET_REJECT=m
426CONFIG_IP_NF_TARGET_LOG=m
427CONFIG_IP_NF_TARGET_ULOG=m
428CONFIG_NF_NAT=m
429CONFIG_NF_NAT_NEEDED=y
430CONFIG_IP_NF_TARGET_MASQUERADE=m
431CONFIG_IP_NF_TARGET_REDIRECT=m
432CONFIG_IP_NF_TARGET_NETMAP=m
433CONFIG_IP_NF_TARGET_SAME=m
434CONFIG_NF_NAT_SNMP_BASIC=m
435CONFIG_NF_NAT_PROTO_GRE=m
436CONFIG_NF_NAT_FTP=m
437CONFIG_NF_NAT_IRC=m
438CONFIG_NF_NAT_TFTP=m
439CONFIG_NF_NAT_AMANDA=m
440CONFIG_NF_NAT_PPTP=m
441CONFIG_NF_NAT_H323=m
442CONFIG_NF_NAT_SIP=m
443CONFIG_IP_NF_MANGLE=m
444CONFIG_IP_NF_TARGET_TOS=m
445CONFIG_IP_NF_TARGET_ECN=m
446CONFIG_IP_NF_TARGET_TTL=m
447CONFIG_IP_NF_TARGET_CLUSTERIP=m
448CONFIG_IP_NF_RAW=m
449CONFIG_IP_NF_ARPTABLES=m
450CONFIG_IP_NF_ARPFILTER=m
451CONFIG_IP_NF_ARP_MANGLE=m
452
453#
454# IPv6: Netfilter Configuration (EXPERIMENTAL)
455#
456CONFIG_NF_CONNTRACK_IPV6=m
457CONFIG_IP6_NF_QUEUE=m
458CONFIG_IP6_NF_IPTABLES=m
459CONFIG_IP6_NF_MATCH_RT=m
460CONFIG_IP6_NF_MATCH_OPTS=m
461CONFIG_IP6_NF_MATCH_FRAG=m
462CONFIG_IP6_NF_MATCH_HL=m
463CONFIG_IP6_NF_MATCH_OWNER=m
464CONFIG_IP6_NF_MATCH_IPV6HEADER=m
465CONFIG_IP6_NF_MATCH_AH=m
466CONFIG_IP6_NF_MATCH_MH=m
467CONFIG_IP6_NF_MATCH_EUI64=m
468CONFIG_IP6_NF_FILTER=m
469CONFIG_IP6_NF_TARGET_LOG=m
470CONFIG_IP6_NF_TARGET_REJECT=m
471CONFIG_IP6_NF_MANGLE=m
472CONFIG_IP6_NF_TARGET_HL=m
473CONFIG_IP6_NF_RAW=m
474# CONFIG_IP_DCCP is not set
475CONFIG_IP_SCTP=m
476# CONFIG_SCTP_DBG_MSG is not set
477# CONFIG_SCTP_DBG_OBJCNT is not set
478# CONFIG_SCTP_HMAC_NONE is not set
479# CONFIG_SCTP_HMAC_SHA1 is not set
480CONFIG_SCTP_HMAC_MD5=y
481# CONFIG_TIPC is not set
482# CONFIG_ATM is not set
483# CONFIG_BRIDGE is not set
484# CONFIG_VLAN_8021Q is not set
485# CONFIG_DECNET is not set
486# CONFIG_LLC2 is not set
487# CONFIG_IPX is not set
488# CONFIG_ATALK is not set
489# CONFIG_X25 is not set
490# CONFIG_LAPB is not set
491# CONFIG_ECONET is not set
492# CONFIG_WAN_ROUTER is not set
493
494#
495# QoS and/or fair queueing
496#
497CONFIG_NET_SCHED=y
498CONFIG_NET_SCH_FIFO=y
499
500#
501# Queueing/Scheduling
502#
503CONFIG_NET_SCH_CBQ=m
504CONFIG_NET_SCH_HTB=m
505CONFIG_NET_SCH_HFSC=m
506CONFIG_NET_SCH_PRIO=m
507CONFIG_NET_SCH_RR=m
508CONFIG_NET_SCH_RED=m
509CONFIG_NET_SCH_SFQ=m
510CONFIG_NET_SCH_TEQL=m
511CONFIG_NET_SCH_TBF=m
512CONFIG_NET_SCH_GRED=m
513CONFIG_NET_SCH_DSMARK=m
514CONFIG_NET_SCH_NETEM=m
515CONFIG_NET_SCH_INGRESS=m
516
517#
518# Classification
519#
520CONFIG_NET_CLS=y
521CONFIG_NET_CLS_BASIC=m
522CONFIG_NET_CLS_TCINDEX=m
523CONFIG_NET_CLS_ROUTE4=m
524CONFIG_NET_CLS_ROUTE=y
525CONFIG_NET_CLS_FW=m
526CONFIG_NET_CLS_U32=m
527# CONFIG_CLS_U32_PERF is not set
528# CONFIG_CLS_U32_MARK is not set
529CONFIG_NET_CLS_RSVP=m
530CONFIG_NET_CLS_RSVP6=m
531# CONFIG_NET_EMATCH is not set
532CONFIG_NET_CLS_ACT=y
533CONFIG_NET_ACT_POLICE=y
534CONFIG_NET_ACT_GACT=m
535CONFIG_GACT_PROB=y
536CONFIG_NET_ACT_MIRRED=m
537CONFIG_NET_ACT_IPT=m
538CONFIG_NET_ACT_PEDIT=m
539CONFIG_NET_ACT_SIMP=m
540CONFIG_NET_CLS_POLICE=y
541# CONFIG_NET_CLS_IND is not set
542
543#
544# Network testing
545#
546# CONFIG_NET_PKTGEN is not set
547# CONFIG_HAMRADIO is not set
548# CONFIG_IRDA is not set
549# CONFIG_BT is not set
550# CONFIG_AF_RXRPC is not set
551CONFIG_FIB_RULES=y
552
553#
554# Wireless
555#
556CONFIG_CFG80211=m
557CONFIG_WIRELESS_EXT=y
558CONFIG_MAC80211=m
559# CONFIG_MAC80211_DEBUG is not set
560CONFIG_IEEE80211=m
561# CONFIG_IEEE80211_DEBUG is not set
562CONFIG_IEEE80211_CRYPT_WEP=m
563CONFIG_IEEE80211_CRYPT_CCMP=m
564CONFIG_IEEE80211_CRYPT_TKIP=m
565CONFIG_IEEE80211_SOFTMAC=m
566# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
567CONFIG_RFKILL=m
568CONFIG_RFKILL_INPUT=m
569# CONFIG_NET_9P is not set
570
571#
572# Device Drivers
573#
574
575#
576# Generic Driver Options
577#
578CONFIG_STANDALONE=y
579CONFIG_PREVENT_FIRMWARE_BUILD=y
580# CONFIG_SYS_HYPERVISOR is not set
581CONFIG_CONNECTOR=m
582# CONFIG_MTD is not set
583# CONFIG_PARPORT is not set
584CONFIG_BLK_DEV=y
585# CONFIG_BLK_DEV_COW_COMMON is not set
586# CONFIG_BLK_DEV_LOOP is not set
587# CONFIG_BLK_DEV_NBD is not set
588# CONFIG_BLK_DEV_RAM is not set
589CONFIG_CDROM_PKTCDVD=m
590CONFIG_CDROM_PKTCDVD_BUFFERS=8
591# CONFIG_CDROM_PKTCDVD_WCACHE is not set
592CONFIG_ATA_OVER_ETH=m
593# CONFIG_MISC_DEVICES is not set
594# CONFIG_IDE is not set
595
596#
597# SCSI device support
598#
599CONFIG_RAID_ATTRS=m
600CONFIG_SCSI=y
601CONFIG_SCSI_DMA=y
602CONFIG_SCSI_TGT=m
603# CONFIG_SCSI_NETLINK is not set
604CONFIG_SCSI_PROC_FS=y
605
606#
607# SCSI support type (disk, tape, CD-ROM)
608#
609CONFIG_BLK_DEV_SD=y
610CONFIG_CHR_DEV_ST=y
611# CONFIG_CHR_DEV_OSST is not set
612CONFIG_BLK_DEV_SR=y
613# CONFIG_BLK_DEV_SR_VENDOR is not set
614# CONFIG_CHR_DEV_SG is not set
615CONFIG_CHR_DEV_SCH=m
616
617#
618# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
619#
620# CONFIG_SCSI_MULTI_LUN is not set
621CONFIG_SCSI_CONSTANTS=y
622# CONFIG_SCSI_LOGGING is not set
623CONFIG_SCSI_SCAN_ASYNC=y
624CONFIG_SCSI_WAIT_SCAN=m
625
626#
627# SCSI Transports
628#
629CONFIG_SCSI_SPI_ATTRS=m
630# CONFIG_SCSI_FC_ATTRS is not set
631CONFIG_SCSI_ISCSI_ATTRS=m
632# CONFIG_SCSI_SAS_LIBSAS is not set
633CONFIG_SCSI_LOWLEVEL=y
634CONFIG_ISCSI_TCP=m
635CONFIG_SGIWD93_SCSI=y
636# CONFIG_SCSI_DEBUG is not set
637# CONFIG_ATA is not set
638# CONFIG_MD is not set
639CONFIG_NETDEVICES=y
640# CONFIG_NETDEVICES_MULTIQUEUE is not set
641# CONFIG_IFB is not set
642CONFIG_DUMMY=m
643CONFIG_BONDING=m
644CONFIG_MACVLAN=m
645CONFIG_EQUALIZER=m
646CONFIG_TUN=m
647CONFIG_PHYLIB=m
648
649#
650# MII PHY device drivers
651#
652CONFIG_MARVELL_PHY=m
653CONFIG_DAVICOM_PHY=m
654CONFIG_QSEMI_PHY=m
655CONFIG_LXT_PHY=m
656CONFIG_CICADA_PHY=m
657# CONFIG_VITESSE_PHY is not set
658# CONFIG_SMSC_PHY is not set
659# CONFIG_BROADCOM_PHY is not set
660# CONFIG_ICPLUS_PHY is not set
661# CONFIG_FIXED_PHY is not set
662CONFIG_NET_ETHERNET=y
663# CONFIG_MII is not set
664# CONFIG_AX88796 is not set
665# CONFIG_DM9000 is not set
666CONFIG_SGISEEQ=y
667# CONFIG_NETDEV_1000 is not set
668# CONFIG_NETDEV_10000 is not set
669
670#
671# Wireless LAN
672#
673CONFIG_WLAN_PRE80211=y
674CONFIG_STRIP=m
675CONFIG_WLAN_80211=y
676# CONFIG_LIBERTAS is not set
677CONFIG_HOSTAP=m
678# CONFIG_HOSTAP_FIRMWARE is not set
679# CONFIG_WAN is not set
680# CONFIG_PPP is not set
681# CONFIG_SLIP is not set
682# CONFIG_SHAPER is not set
683# CONFIG_NETCONSOLE is not set
684# CONFIG_NETPOLL is not set
685# CONFIG_NET_POLL_CONTROLLER is not set
686# CONFIG_ISDN is not set
687# CONFIG_PHONE is not set
688
689#
690# Input device support
691#
692CONFIG_INPUT=y
693# CONFIG_INPUT_FF_MEMLESS is not set
694# CONFIG_INPUT_POLLDEV is not set
695
696#
697# Userland interfaces
698#
699CONFIG_INPUT_MOUSEDEV=m
700CONFIG_INPUT_MOUSEDEV_PSAUX=y
701CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
702CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
703# CONFIG_INPUT_JOYDEV is not set
704# CONFIG_INPUT_TSDEV is not set
705# CONFIG_INPUT_EVDEV is not set
706# CONFIG_INPUT_EVBUG is not set
707
708#
709# Input Device Drivers
710#
711CONFIG_INPUT_KEYBOARD=y
712CONFIG_KEYBOARD_ATKBD=y
713# CONFIG_KEYBOARD_SUNKBD is not set
714# CONFIG_KEYBOARD_LKKBD is not set
715# CONFIG_KEYBOARD_XTKBD is not set
716# CONFIG_KEYBOARD_NEWTON is not set
717# CONFIG_KEYBOARD_STOWAWAY is not set
718CONFIG_INPUT_MOUSE=y
719CONFIG_MOUSE_PS2=m
720# CONFIG_MOUSE_PS2_ALPS is not set
721CONFIG_MOUSE_PS2_LOGIPS2PP=y
722# CONFIG_MOUSE_PS2_SYNAPTICS is not set
723# CONFIG_MOUSE_PS2_LIFEBOOK is not set
724CONFIG_MOUSE_PS2_TRACKPOINT=y
725# CONFIG_MOUSE_PS2_TOUCHKIT is not set
726CONFIG_MOUSE_SERIAL=m
727# CONFIG_MOUSE_VSXXXAA is not set
728# CONFIG_INPUT_JOYSTICK is not set
729# CONFIG_INPUT_TABLET is not set
730# CONFIG_INPUT_TOUCHSCREEN is not set
731# CONFIG_INPUT_MISC is not set
732
733#
734# Hardware I/O ports
735#
736CONFIG_SERIO=y
737CONFIG_SERIO_I8042=y
738CONFIG_SERIO_SERPORT=y
739CONFIG_SERIO_LIBPS2=y
740CONFIG_SERIO_RAW=m
741# CONFIG_GAMEPORT is not set
742
743#
744# Character devices
745#
746CONFIG_VT=y
747CONFIG_VT_CONSOLE=y
748CONFIG_HW_CONSOLE=y
749CONFIG_VT_HW_CONSOLE_BINDING=y
750# CONFIG_SERIAL_NONSTANDARD is not set
751
752#
753# Serial drivers
754#
755# CONFIG_SERIAL_8250 is not set
756
757#
758# Non-8250 serial port support
759#
760CONFIG_SERIAL_IP22_ZILOG=m
761CONFIG_SERIAL_CORE=m
762CONFIG_UNIX98_PTYS=y
763CONFIG_LEGACY_PTYS=y
764CONFIG_LEGACY_PTY_COUNT=256
765# CONFIG_IPMI_HANDLER is not set
766CONFIG_WATCHDOG=y
767# CONFIG_WATCHDOG_NOWAYOUT is not set
768
769#
770# Watchdog Device Drivers
771#
772# CONFIG_SOFT_WATCHDOG is not set
773CONFIG_INDYDOG=m
774# CONFIG_HW_RANDOM is not set
775# CONFIG_RTC is not set
776CONFIG_SGI_DS1286=m
777# CONFIG_R3964 is not set
778CONFIG_RAW_DRIVER=m
779CONFIG_MAX_RAW_DEVS=256
780# CONFIG_TCG_TPM is not set
781# CONFIG_I2C is not set
782
783#
784# SPI support
785#
786# CONFIG_SPI is not set
787# CONFIG_SPI_MASTER is not set
788# CONFIG_W1 is not set
789# CONFIG_POWER_SUPPLY is not set
790# CONFIG_HWMON is not set
791
792#
793# Multifunction device drivers
794#
795# CONFIG_MFD_SM501 is not set
796
797#
798# Multimedia devices
799#
800# CONFIG_VIDEO_DEV is not set
801# CONFIG_DVB_CORE is not set
802# CONFIG_DAB is not set
803
804#
805# Graphics support
806#
807# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
808
809#
810# Display device support
811#
812# CONFIG_DISPLAY_SUPPORT is not set
813# CONFIG_VGASTATE is not set
814# CONFIG_VIDEO_OUTPUT_CONTROL is not set
815# CONFIG_FB is not set
816
817#
818# Console display driver support
819#
820# CONFIG_VGA_CONSOLE is not set
821CONFIG_SGI_NEWPORT_CONSOLE=y
822CONFIG_DUMMY_CONSOLE=y
823CONFIG_FONT_8x16=y
824CONFIG_LOGO=y
825# CONFIG_LOGO_LINUX_MONO is not set
826# CONFIG_LOGO_LINUX_VGA16 is not set
827# CONFIG_LOGO_LINUX_CLUT224 is not set
828CONFIG_LOGO_SGI_CLUT224=y
829
830#
831# Sound
832#
833# CONFIG_SOUND is not set
834CONFIG_HID_SUPPORT=y
835CONFIG_HID=y
836# CONFIG_HID_DEBUG is not set
837CONFIG_USB_SUPPORT=y
838# CONFIG_USB_ARCH_HAS_HCD is not set
839# CONFIG_USB_ARCH_HAS_OHCI is not set
840# CONFIG_USB_ARCH_HAS_EHCI is not set
841
842#
843# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
844#
845
846#
847# USB Gadget Support
848#
849# CONFIG_USB_GADGET is not set
850# CONFIG_MMC is not set
851# CONFIG_NEW_LEDS is not set
852# CONFIG_RTC_CLASS is not set
853
854#
855# DMA Engine support
856#
857# CONFIG_DMA_ENGINE is not set
858
859#
860# DMA Clients
861#
862
863#
864# DMA Devices
865#
866
867#
868# Userspace I/O
869#
870# CONFIG_UIO is not set
871
872#
873# File systems
874#
875CONFIG_EXT2_FS=m
876# CONFIG_EXT2_FS_XATTR is not set
877# CONFIG_EXT2_FS_XIP is not set
878CONFIG_EXT3_FS=y
879CONFIG_EXT3_FS_XATTR=y
880CONFIG_EXT3_FS_POSIX_ACL=y
881CONFIG_EXT3_FS_SECURITY=y
882# CONFIG_EXT4DEV_FS is not set
883CONFIG_JBD=y
884# CONFIG_JBD_DEBUG is not set
885CONFIG_FS_MBCACHE=y
886# CONFIG_REISERFS_FS is not set
887# CONFIG_JFS_FS is not set
888CONFIG_FS_POSIX_ACL=y
889CONFIG_XFS_FS=m
890CONFIG_XFS_QUOTA=y
891CONFIG_XFS_SECURITY=y
892# CONFIG_XFS_POSIX_ACL is not set
893# CONFIG_XFS_RT is not set
894# CONFIG_GFS2_FS is not set
895# CONFIG_OCFS2_FS is not set
896CONFIG_MINIX_FS=m
897# CONFIG_ROMFS_FS is not set
898CONFIG_INOTIFY=y
899CONFIG_INOTIFY_USER=y
900CONFIG_QUOTA=y
901# CONFIG_QFMT_V1 is not set
902CONFIG_QFMT_V2=m
903CONFIG_QUOTACTL=y
904CONFIG_DNOTIFY=y
905CONFIG_AUTOFS_FS=m
906CONFIG_AUTOFS4_FS=m
907CONFIG_FUSE_FS=m
908CONFIG_GENERIC_ACL=y
909
910#
911# CD-ROM/DVD Filesystems
912#
913CONFIG_ISO9660_FS=m
914CONFIG_JOLIET=y
915CONFIG_ZISOFS=y
916CONFIG_UDF_FS=m
917CONFIG_UDF_NLS=y
918
919#
920# DOS/FAT/NT Filesystems
921#
922CONFIG_FAT_FS=m
923CONFIG_MSDOS_FS=m
924CONFIG_VFAT_FS=m
925CONFIG_FAT_DEFAULT_CODEPAGE=437
926CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
927# CONFIG_NTFS_FS is not set
928
929#
930# Pseudo filesystems
931#
932CONFIG_PROC_FS=y
933CONFIG_PROC_KCORE=y
934CONFIG_PROC_SYSCTL=y
935CONFIG_SYSFS=y
936CONFIG_TMPFS=y
937CONFIG_TMPFS_POSIX_ACL=y
938# CONFIG_HUGETLB_PAGE is not set
939CONFIG_RAMFS=y
940CONFIG_CONFIGFS_FS=m
941
942#
943# Miscellaneous filesystems
944#
945# CONFIG_ADFS_FS is not set
946# CONFIG_AFFS_FS is not set
947# CONFIG_ECRYPT_FS is not set
948# CONFIG_HFS_FS is not set
949# CONFIG_HFSPLUS_FS is not set
950# CONFIG_BEFS_FS is not set
951# CONFIG_BFS_FS is not set
952CONFIG_EFS_FS=m
953# CONFIG_CRAMFS is not set
954# CONFIG_VXFS_FS is not set
955# CONFIG_HPFS_FS is not set
956# CONFIG_QNX4FS_FS is not set
957# CONFIG_SYSV_FS is not set
958CONFIG_UFS_FS=m
959# CONFIG_UFS_FS_WRITE is not set
960# CONFIG_UFS_DEBUG is not set
961
962#
963# Network File Systems
964#
965CONFIG_NFS_FS=m
966CONFIG_NFS_V3=y
967CONFIG_NFS_V3_ACL=y
968# CONFIG_NFS_V4 is not set
969# CONFIG_NFS_DIRECTIO is not set
970CONFIG_NFSD=m
971CONFIG_NFSD_V2_ACL=y
972CONFIG_NFSD_V3=y
973CONFIG_NFSD_V3_ACL=y
974# CONFIG_NFSD_V4 is not set
975CONFIG_NFSD_TCP=y
976CONFIG_LOCKD=m
977CONFIG_LOCKD_V4=y
978CONFIG_EXPORTFS=m
979CONFIG_NFS_ACL_SUPPORT=m
980CONFIG_NFS_COMMON=y
981CONFIG_SUNRPC=m
982CONFIG_SUNRPC_GSS=m
983# CONFIG_SUNRPC_BIND34 is not set
984CONFIG_RPCSEC_GSS_KRB5=m
985# CONFIG_RPCSEC_GSS_SPKM3 is not set
986CONFIG_SMB_FS=m
987CONFIG_SMB_NLS_DEFAULT=y
988CONFIG_SMB_NLS_REMOTE="cp437"
989CONFIG_CIFS=m
990# CONFIG_CIFS_STATS is not set
991# CONFIG_CIFS_WEAK_PW_HASH is not set
992# CONFIG_CIFS_XATTR is not set
993# CONFIG_CIFS_DEBUG2 is not set
994# CONFIG_CIFS_EXPERIMENTAL is not set
995# CONFIG_NCP_FS is not set
996CONFIG_CODA_FS=m
997# CONFIG_CODA_FS_OLD_API is not set
998# CONFIG_AFS_FS is not set
999
1000#
1001# Partition Types
1002#
1003CONFIG_PARTITION_ADVANCED=y
1004# CONFIG_ACORN_PARTITION is not set
1005# CONFIG_OSF_PARTITION is not set
1006# CONFIG_AMIGA_PARTITION is not set
1007# CONFIG_ATARI_PARTITION is not set
1008# CONFIG_MAC_PARTITION is not set
1009CONFIG_MSDOS_PARTITION=y
1010# CONFIG_BSD_DISKLABEL is not set
1011# CONFIG_MINIX_SUBPARTITION is not set
1012# CONFIG_SOLARIS_X86_PARTITION is not set
1013# CONFIG_UNIXWARE_DISKLABEL is not set
1014# CONFIG_LDM_PARTITION is not set
1015CONFIG_SGI_PARTITION=y
1016# CONFIG_ULTRIX_PARTITION is not set
1017# CONFIG_SUN_PARTITION is not set
1018# CONFIG_KARMA_PARTITION is not set
1019# CONFIG_EFI_PARTITION is not set
1020# CONFIG_SYSV68_PARTITION is not set
1021
1022#
1023# Native Language Support
1024#
1025CONFIG_NLS=m
1026CONFIG_NLS_DEFAULT="iso8859-1"
1027CONFIG_NLS_CODEPAGE_437=m
1028CONFIG_NLS_CODEPAGE_737=m
1029CONFIG_NLS_CODEPAGE_775=m
1030CONFIG_NLS_CODEPAGE_850=m
1031CONFIG_NLS_CODEPAGE_852=m
1032CONFIG_NLS_CODEPAGE_855=m
1033CONFIG_NLS_CODEPAGE_857=m
1034CONFIG_NLS_CODEPAGE_860=m
1035CONFIG_NLS_CODEPAGE_861=m
1036CONFIG_NLS_CODEPAGE_862=m
1037CONFIG_NLS_CODEPAGE_863=m
1038CONFIG_NLS_CODEPAGE_864=m
1039CONFIG_NLS_CODEPAGE_865=m
1040CONFIG_NLS_CODEPAGE_866=m
1041CONFIG_NLS_CODEPAGE_869=m
1042CONFIG_NLS_CODEPAGE_936=m
1043CONFIG_NLS_CODEPAGE_950=m
1044CONFIG_NLS_CODEPAGE_932=m
1045CONFIG_NLS_CODEPAGE_949=m
1046CONFIG_NLS_CODEPAGE_874=m
1047CONFIG_NLS_ISO8859_8=m
1048CONFIG_NLS_CODEPAGE_1250=m
1049CONFIG_NLS_CODEPAGE_1251=m
1050CONFIG_NLS_ASCII=m
1051CONFIG_NLS_ISO8859_1=m
1052CONFIG_NLS_ISO8859_2=m
1053CONFIG_NLS_ISO8859_3=m
1054CONFIG_NLS_ISO8859_4=m
1055CONFIG_NLS_ISO8859_5=m
1056CONFIG_NLS_ISO8859_6=m
1057CONFIG_NLS_ISO8859_7=m
1058CONFIG_NLS_ISO8859_9=m
1059CONFIG_NLS_ISO8859_13=m
1060CONFIG_NLS_ISO8859_14=m
1061CONFIG_NLS_ISO8859_15=m
1062CONFIG_NLS_KOI8_R=m
1063CONFIG_NLS_KOI8_U=m
1064CONFIG_NLS_UTF8=m
1065
1066#
1067# Distributed Lock Manager
1068#
1069CONFIG_DLM=m
1070# CONFIG_DLM_DEBUG is not set
1071
1072#
1073# Profiling support
1074#
1075# CONFIG_PROFILING is not set
1076
1077#
1078# Kernel hacking
1079#
1080CONFIG_TRACE_IRQFLAGS_SUPPORT=y
1081# CONFIG_PRINTK_TIME is not set
1082CONFIG_ENABLE_MUST_CHECK=y
1083# CONFIG_MAGIC_SYSRQ is not set
1084# CONFIG_UNUSED_SYMBOLS is not set
1085# CONFIG_DEBUG_FS is not set
1086# CONFIG_HEADERS_CHECK is not set
1087# CONFIG_DEBUG_KERNEL is not set
1088CONFIG_CROSSCOMPILE=y
1089CONFIG_CMDLINE=""
1090
1091#
1092# Security options
1093#
1094CONFIG_KEYS=y
1095CONFIG_KEYS_DEBUG_PROC_KEYS=y
1096# CONFIG_SECURITY is not set
1097CONFIG_CRYPTO=y
1098CONFIG_CRYPTO_ALGAPI=y
1099CONFIG_CRYPTO_ABLKCIPHER=m
1100CONFIG_CRYPTO_BLKCIPHER=m
1101CONFIG_CRYPTO_HASH=y
1102CONFIG_CRYPTO_MANAGER=y
1103CONFIG_CRYPTO_HMAC=y
1104CONFIG_CRYPTO_XCBC=m
1105CONFIG_CRYPTO_NULL=m
1106CONFIG_CRYPTO_MD4=m
1107CONFIG_CRYPTO_MD5=y
1108CONFIG_CRYPTO_SHA1=m
1109CONFIG_CRYPTO_SHA256=m
1110CONFIG_CRYPTO_SHA512=m
1111CONFIG_CRYPTO_WP512=m
1112CONFIG_CRYPTO_TGR192=m
1113CONFIG_CRYPTO_GF128MUL=m
1114CONFIG_CRYPTO_ECB=m
1115CONFIG_CRYPTO_CBC=m
1116CONFIG_CRYPTO_PCBC=m
1117CONFIG_CRYPTO_LRW=m
1118CONFIG_CRYPTO_CRYPTD=m
1119CONFIG_CRYPTO_DES=m
1120CONFIG_CRYPTO_FCRYPT=m
1121CONFIG_CRYPTO_BLOWFISH=m
1122CONFIG_CRYPTO_TWOFISH=m
1123CONFIG_CRYPTO_TWOFISH_COMMON=m
1124CONFIG_CRYPTO_SERPENT=m
1125CONFIG_CRYPTO_AES=m
1126CONFIG_CRYPTO_CAST5=m
1127CONFIG_CRYPTO_CAST6=m
1128CONFIG_CRYPTO_TEA=m
1129CONFIG_CRYPTO_ARC4=m
1130CONFIG_CRYPTO_KHAZAD=m
1131CONFIG_CRYPTO_ANUBIS=m
1132CONFIG_CRYPTO_DEFLATE=m
1133CONFIG_CRYPTO_MICHAEL_MIC=m
1134CONFIG_CRYPTO_CRC32C=m
1135CONFIG_CRYPTO_CAMELLIA=m
1136# CONFIG_CRYPTO_TEST is not set
1137# CONFIG_CRYPTO_HW is not set
1138
1139#
1140# Library routines
1141#
1142CONFIG_BITREVERSE=m
1143# CONFIG_CRC_CCITT is not set
1144CONFIG_CRC16=m
1145# CONFIG_CRC_ITU_T is not set
1146CONFIG_CRC32=m
1147# CONFIG_CRC7 is not set
1148CONFIG_LIBCRC32C=m
1149CONFIG_ZLIB_INFLATE=m
1150CONFIG_ZLIB_DEFLATE=m
1151CONFIG_TEXTSEARCH=y
1152CONFIG_TEXTSEARCH_KMP=m
1153CONFIG_TEXTSEARCH_BM=m
1154CONFIG_TEXTSEARCH_FSM=m
1155CONFIG_PLIST=y
1156CONFIG_HAS_IOMEM=y
1157CONFIG_HAS_IOPORT=y
1158CONFIG_HAS_DMA=y
diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile
index ffa08362de17..9e78e1a4ca17 100644
--- a/arch/mips/kernel/Makefile
+++ b/arch/mips/kernel/Makefile
@@ -76,7 +76,6 @@ obj-$(CONFIG_PROC_FS) += proc.o
76obj-$(CONFIG_64BIT) += cpu-bugs64.o 76obj-$(CONFIG_64BIT) += cpu-bugs64.o
77 77
78obj-$(CONFIG_I8253) += i8253.o 78obj-$(CONFIG_I8253) += i8253.o
79obj-$(CONFIG_PCSPEAKER) += pcspeaker.o
80 79
81obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o 80obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o
82obj-$(CONFIG_EARLY_PRINTK) += early_printk.o 81obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
diff --git a/arch/mips/kernel/cpu-bugs64.c b/arch/mips/kernel/cpu-bugs64.c
index 417bb3e336ac..a1b48af0992f 100644
--- a/arch/mips/kernel/cpu-bugs64.c
+++ b/arch/mips/kernel/cpu-bugs64.c
@@ -167,7 +167,7 @@ static inline void check_mult_sh(void)
167 panic(bug64hit, !R4000_WAR ? r4kwar : nowar); 167 panic(bug64hit, !R4000_WAR ? r4kwar : nowar);
168} 168}
169 169
170static volatile int daddi_ov __initdata = 0; 170static volatile int daddi_ov __cpuinitdata = 0;
171 171
172asmlinkage void __init do_daddi_ov(struct pt_regs *regs) 172asmlinkage void __init do_daddi_ov(struct pt_regs *regs)
173{ 173{
@@ -239,7 +239,7 @@ static inline void check_daddi(void)
239 panic(bug64hit, !DADDI_WAR ? daddiwar : nowar); 239 panic(bug64hit, !DADDI_WAR ? daddiwar : nowar);
240} 240}
241 241
242int daddiu_bug __initdata = -1; 242int daddiu_bug __cpuinitdata = -1;
243 243
244static inline void check_daddiu(void) 244static inline void check_daddiu(void)
245{ 245{
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
index 5861a432a52f..89c3304cb93c 100644
--- a/arch/mips/kernel/cpu-probe.c
+++ b/arch/mips/kernel/cpu-probe.c
@@ -550,7 +550,7 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
550 } 550 }
551} 551}
552 552
553static char unknown_isa[] __initdata = KERN_ERR \ 553static char unknown_isa[] __cpuinitdata = KERN_ERR \
554 "Unsupported ISA type, c0.config0: %d."; 554 "Unsupported ISA type, c0.config0: %d.";
555 555
556static inline unsigned int decode_config0(struct cpuinfo_mips *c) 556static inline unsigned int decode_config0(struct cpuinfo_mips *c)
@@ -656,7 +656,7 @@ static inline unsigned int decode_config3(struct cpuinfo_mips *c)
656 return config3 & MIPS_CONF_M; 656 return config3 & MIPS_CONF_M;
657} 657}
658 658
659static void __init decode_configs(struct cpuinfo_mips *c) 659static void __cpuinit decode_configs(struct cpuinfo_mips *c)
660{ 660{
661 /* MIPS32 or MIPS64 compliant CPU. */ 661 /* MIPS32 or MIPS64 compliant CPU. */
662 c->options = MIPS_CPU_4KEX | MIPS_CPU_4K_CACHE | MIPS_CPU_COUNTER | 662 c->options = MIPS_CPU_4KEX | MIPS_CPU_4K_CACHE | MIPS_CPU_COUNTER |
@@ -814,7 +814,7 @@ const char *__cpu_name[NR_CPUS];
814/* 814/*
815 * Name a CPU 815 * Name a CPU
816 */ 816 */
817static __init const char *cpu_to_name(struct cpuinfo_mips *c) 817static __cpuinit const char *cpu_to_name(struct cpuinfo_mips *c)
818{ 818{
819 const char *name = NULL; 819 const char *name = NULL;
820 820
@@ -896,7 +896,7 @@ static __init const char *cpu_to_name(struct cpuinfo_mips *c)
896 return name; 896 return name;
897} 897}
898 898
899__init void cpu_probe(void) 899__cpuinit void cpu_probe(void)
900{ 900{
901 struct cpuinfo_mips *c = &current_cpu_data; 901 struct cpuinfo_mips *c = &current_cpu_data;
902 unsigned int cpu = smp_processor_id(); 902 unsigned int cpu = smp_processor_id();
@@ -959,7 +959,7 @@ __init void cpu_probe(void)
959 c->srsets = 1; 959 c->srsets = 1;
960} 960}
961 961
962__init void cpu_report(void) 962__cpuinit void cpu_report(void)
963{ 963{
964 struct cpuinfo_mips *c = &current_cpu_data; 964 struct cpuinfo_mips *c = &current_cpu_data;
965 965
diff --git a/arch/mips/kernel/csrc-r4k.c b/arch/mips/kernel/csrc-r4k.c
index 0e2b5cd81f67..86e026f067bc 100644
--- a/arch/mips/kernel/csrc-r4k.c
+++ b/arch/mips/kernel/csrc-r4k.c
@@ -22,12 +22,17 @@ static struct clocksource clocksource_mips = {
22 .flags = CLOCK_SOURCE_IS_CONTINUOUS, 22 .flags = CLOCK_SOURCE_IS_CONTINUOUS,
23}; 23};
24 24
25void __init init_mips_clocksource(void) 25int __init init_mips_clocksource(void)
26{ 26{
27 if (!cpu_has_counter || !mips_hpt_frequency)
28 return -ENXIO;
29
27 /* Calclate a somewhat reasonable rating value */ 30 /* Calclate a somewhat reasonable rating value */
28 clocksource_mips.rating = 200 + mips_hpt_frequency / 10000000; 31 clocksource_mips.rating = 200 + mips_hpt_frequency / 10000000;
29 32
30 clocksource_set_clock(&clocksource_mips, mips_hpt_frequency); 33 clocksource_set_clock(&clocksource_mips, mips_hpt_frequency);
31 34
32 clocksource_register(&clocksource_mips); 35 clocksource_register(&clocksource_mips);
36
37 return 0;
33} 38}
diff --git a/arch/mips/kernel/head.S b/arch/mips/kernel/head.S
index a24fb7900901..361364501d34 100644
--- a/arch/mips/kernel/head.S
+++ b/arch/mips/kernel/head.S
@@ -195,7 +195,7 @@ NESTED(kernel_entry, 16, sp) # kernel entry point
195 j start_kernel 195 j start_kernel
196 END(kernel_entry) 196 END(kernel_entry)
197 197
198 __INIT 198 __CPUINIT
199 199
200#ifdef CONFIG_SMP 200#ifdef CONFIG_SMP
201/* 201/*
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
index fcae66752972..984c0d0a7b4d 100644
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
@@ -534,8 +534,7 @@ static int simulate_llsc(struct pt_regs *regs, unsigned int opcode)
534 534
535/* 535/*
536 * Simulate trapping 'rdhwr' instructions to provide user accessible 536 * Simulate trapping 'rdhwr' instructions to provide user accessible
537 * registers not implemented in hardware. The only current use of this 537 * registers not implemented in hardware.
538 * is the thread area pointer.
539 */ 538 */
540static int simulate_rdhwr(struct pt_regs *regs, unsigned int opcode) 539static int simulate_rdhwr(struct pt_regs *regs, unsigned int opcode)
541{ 540{
@@ -545,11 +544,31 @@ static int simulate_rdhwr(struct pt_regs *regs, unsigned int opcode)
545 int rd = (opcode & RD) >> 11; 544 int rd = (opcode & RD) >> 11;
546 int rt = (opcode & RT) >> 16; 545 int rt = (opcode & RT) >> 16;
547 switch (rd) { 546 switch (rd) {
548 case 29: 547 case 0: /* CPU number */
549 regs->regs[rt] = ti->tp_value; 548 regs->regs[rt] = smp_processor_id();
550 return 0; 549 return 0;
550 case 1: /* SYNCI length */
551 regs->regs[rt] = min(current_cpu_data.dcache.linesz,
552 current_cpu_data.icache.linesz);
553 return 0;
554 case 2: /* Read count register */
555 regs->regs[rt] = read_c0_count();
556 return 0;
557 case 3: /* Count register resolution */
558 switch (current_cpu_data.cputype) {
559 case CPU_20KC:
560 case CPU_25KF:
561 regs->regs[rt] = 1;
562 break;
551 default: 563 default:
552 return -1; 564 regs->regs[rt] = 2;
565 }
566 return 0;
567 case 29:
568 regs->regs[rt] = ti->tp_value;
569 return 0;
570 default:
571 return -1;
553 } 572 }
554 } 573 }
555 574
@@ -1287,7 +1306,7 @@ int cp0_compare_irq;
1287int cp0_perfcount_irq; 1306int cp0_perfcount_irq;
1288EXPORT_SYMBOL_GPL(cp0_perfcount_irq); 1307EXPORT_SYMBOL_GPL(cp0_perfcount_irq);
1289 1308
1290void __init per_cpu_trap_init(void) 1309void __cpuinit per_cpu_trap_init(void)
1291{ 1310{
1292 unsigned int cpu = smp_processor_id(); 1311 unsigned int cpu = smp_processor_id();
1293 unsigned int status_set = ST0_CU0; 1312 unsigned int status_set = ST0_CU0;
@@ -1404,11 +1423,12 @@ void __init set_handler(unsigned long offset, void *addr, unsigned long size)
1404 flush_icache_range(ebase + offset, ebase + offset + size); 1423 flush_icache_range(ebase + offset, ebase + offset + size);
1405} 1424}
1406 1425
1407static char panic_null_cerr[] __initdata = 1426static char panic_null_cerr[] __cpuinitdata =
1408 "Trying to set NULL cache error exception handler"; 1427 "Trying to set NULL cache error exception handler";
1409 1428
1410/* Install uncached CPU exception handler */ 1429/* Install uncached CPU exception handler */
1411void __init set_uncached_handler(unsigned long offset, void *addr, unsigned long size) 1430void __cpuinit set_uncached_handler(unsigned long offset, void *addr,
1431 unsigned long size)
1412{ 1432{
1413#ifdef CONFIG_32BIT 1433#ifdef CONFIG_32BIT
1414 unsigned long uncached_ebase = KSEG1ADDR(ebase); 1434 unsigned long uncached_ebase = KSEG1ADDR(ebase);
diff --git a/arch/mips/lib/ucmpdi2.c b/arch/mips/lib/ucmpdi2.c
index b33d8569bcb0..bb4cb2f828ea 100644
--- a/arch/mips/lib/ucmpdi2.c
+++ b/arch/mips/lib/ucmpdi2.c
@@ -17,3 +17,5 @@ word_type __ucmpdi2(unsigned long long a, unsigned long long b)
17 return 2; 17 return 2;
18 return 1; 18 return 1;
19} 19}
20
21EXPORT_SYMBOL(__ucmpdi2);
diff --git a/arch/mips/lib/uncached.c b/arch/mips/lib/uncached.c
index 27b012d4341c..a6d1c77034d5 100644
--- a/arch/mips/lib/uncached.c
+++ b/arch/mips/lib/uncached.c
@@ -36,7 +36,7 @@
36 * values, so we can avoid sharing the same stack area between a cached 36 * values, so we can avoid sharing the same stack area between a cached
37 * and the uncached mode. 37 * and the uncached mode.
38 */ 38 */
39unsigned long __init run_uncached(void *func) 39unsigned long __cpuinit run_uncached(void *func)
40{ 40{
41 register long sp __asm__("$sp"); 41 register long sp __asm__("$sp");
42 register long ret __asm__("$2"); 42 register long ret __asm__("$2");
diff --git a/arch/mips/mips-boards/generic/time.c b/arch/mips/mips-boards/generic/time.c
index f02ce6308e51..b50e0fc406ac 100644
--- a/arch/mips/mips-boards/generic/time.c
+++ b/arch/mips/mips-boards/generic/time.c
@@ -146,7 +146,7 @@ void __init plat_perf_setup(void)
146 } 146 }
147} 147}
148 148
149unsigned int __init get_c0_compare_int(void) 149unsigned int __cpuinit get_c0_compare_int(void)
150{ 150{
151#ifdef MSC01E_INT_BASE 151#ifdef MSC01E_INT_BASE
152 if (cpu_has_veic) { 152 if (cpu_has_veic) {
diff --git a/arch/mips/mipssim/sim_time.c b/arch/mips/mipssim/sim_time.c
index e39bbe989da3..881ecbc1fa23 100644
--- a/arch/mips/mipssim/sim_time.c
+++ b/arch/mips/mipssim/sim_time.c
@@ -83,7 +83,7 @@ static void mips_timer_dispatch(void)
83} 83}
84 84
85 85
86unsigned __init get_c0_compare_int(void) 86unsigned __cpuinit get_c0_compare_int(void)
87{ 87{
88#ifdef MSC01E_INT_BASE 88#ifdef MSC01E_INT_BASE
89 if (cpu_has_veic) { 89 if (cpu_has_veic) {
diff --git a/arch/mips/mm/c-r3k.c b/arch/mips/mm/c-r3k.c
index 562abb77d1d5..76935e320214 100644
--- a/arch/mips/mm/c-r3k.c
+++ b/arch/mips/mm/c-r3k.c
@@ -307,7 +307,7 @@ static void r3k_dma_cache_wback_inv(unsigned long start, unsigned long size)
307 r3k_flush_dcache_range(start, start + size); 307 r3k_flush_dcache_range(start, start + size);
308} 308}
309 309
310void __init r3k_cache_init(void) 310void __cpuinit r3k_cache_init(void)
311{ 311{
312 extern void build_clear_page(void); 312 extern void build_clear_page(void);
313 extern void build_copy_page(void); 313 extern void build_copy_page(void);
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
index 2c4f7e11f0d5..6496925b5e29 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -93,7 +93,7 @@ static inline void r4k_blast_dcache_page_dc32(unsigned long addr)
93 blast_dcache32_page(addr); 93 blast_dcache32_page(addr);
94} 94}
95 95
96static void __init r4k_blast_dcache_page_setup(void) 96static void __cpuinit r4k_blast_dcache_page_setup(void)
97{ 97{
98 unsigned long dc_lsize = cpu_dcache_line_size(); 98 unsigned long dc_lsize = cpu_dcache_line_size();
99 99
@@ -107,7 +107,7 @@ static void __init r4k_blast_dcache_page_setup(void)
107 107
108static void (* r4k_blast_dcache_page_indexed)(unsigned long addr); 108static void (* r4k_blast_dcache_page_indexed)(unsigned long addr);
109 109
110static void __init r4k_blast_dcache_page_indexed_setup(void) 110static void __cpuinit r4k_blast_dcache_page_indexed_setup(void)
111{ 111{
112 unsigned long dc_lsize = cpu_dcache_line_size(); 112 unsigned long dc_lsize = cpu_dcache_line_size();
113 113
@@ -121,7 +121,7 @@ static void __init r4k_blast_dcache_page_indexed_setup(void)
121 121
122static void (* r4k_blast_dcache)(void); 122static void (* r4k_blast_dcache)(void);
123 123
124static void __init r4k_blast_dcache_setup(void) 124static void __cpuinit r4k_blast_dcache_setup(void)
125{ 125{
126 unsigned long dc_lsize = cpu_dcache_line_size(); 126 unsigned long dc_lsize = cpu_dcache_line_size();
127 127
@@ -206,7 +206,7 @@ static inline void tx49_blast_icache32_page_indexed(unsigned long page)
206 206
207static void (* r4k_blast_icache_page)(unsigned long addr); 207static void (* r4k_blast_icache_page)(unsigned long addr);
208 208
209static void __init r4k_blast_icache_page_setup(void) 209static void __cpuinit r4k_blast_icache_page_setup(void)
210{ 210{
211 unsigned long ic_lsize = cpu_icache_line_size(); 211 unsigned long ic_lsize = cpu_icache_line_size();
212 212
@@ -223,7 +223,7 @@ static void __init r4k_blast_icache_page_setup(void)
223 223
224static void (* r4k_blast_icache_page_indexed)(unsigned long addr); 224static void (* r4k_blast_icache_page_indexed)(unsigned long addr);
225 225
226static void __init r4k_blast_icache_page_indexed_setup(void) 226static void __cpuinit r4k_blast_icache_page_indexed_setup(void)
227{ 227{
228 unsigned long ic_lsize = cpu_icache_line_size(); 228 unsigned long ic_lsize = cpu_icache_line_size();
229 229
@@ -247,7 +247,7 @@ static void __init r4k_blast_icache_page_indexed_setup(void)
247 247
248static void (* r4k_blast_icache)(void); 248static void (* r4k_blast_icache)(void);
249 249
250static void __init r4k_blast_icache_setup(void) 250static void __cpuinit r4k_blast_icache_setup(void)
251{ 251{
252 unsigned long ic_lsize = cpu_icache_line_size(); 252 unsigned long ic_lsize = cpu_icache_line_size();
253 253
@@ -268,7 +268,7 @@ static void __init r4k_blast_icache_setup(void)
268 268
269static void (* r4k_blast_scache_page)(unsigned long addr); 269static void (* r4k_blast_scache_page)(unsigned long addr);
270 270
271static void __init r4k_blast_scache_page_setup(void) 271static void __cpuinit r4k_blast_scache_page_setup(void)
272{ 272{
273 unsigned long sc_lsize = cpu_scache_line_size(); 273 unsigned long sc_lsize = cpu_scache_line_size();
274 274
@@ -286,7 +286,7 @@ static void __init r4k_blast_scache_page_setup(void)
286 286
287static void (* r4k_blast_scache_page_indexed)(unsigned long addr); 287static void (* r4k_blast_scache_page_indexed)(unsigned long addr);
288 288
289static void __init r4k_blast_scache_page_indexed_setup(void) 289static void __cpuinit r4k_blast_scache_page_indexed_setup(void)
290{ 290{
291 unsigned long sc_lsize = cpu_scache_line_size(); 291 unsigned long sc_lsize = cpu_scache_line_size();
292 292
@@ -304,7 +304,7 @@ static void __init r4k_blast_scache_page_indexed_setup(void)
304 304
305static void (* r4k_blast_scache)(void); 305static void (* r4k_blast_scache)(void);
306 306
307static void __init r4k_blast_scache_setup(void) 307static void __cpuinit r4k_blast_scache_setup(void)
308{ 308{
309 unsigned long sc_lsize = cpu_scache_line_size(); 309 unsigned long sc_lsize = cpu_scache_line_size();
310 310
@@ -691,11 +691,11 @@ static inline void rm7k_erratum31(void)
691 } 691 }
692} 692}
693 693
694static char *way_string[] __initdata = { NULL, "direct mapped", "2-way", 694static char *way_string[] __cpuinitdata = { NULL, "direct mapped", "2-way",
695 "3-way", "4-way", "5-way", "6-way", "7-way", "8-way" 695 "3-way", "4-way", "5-way", "6-way", "7-way", "8-way"
696}; 696};
697 697
698static void __init probe_pcache(void) 698static void __cpuinit probe_pcache(void)
699{ 699{
700 struct cpuinfo_mips *c = &current_cpu_data; 700 struct cpuinfo_mips *c = &current_cpu_data;
701 unsigned int config = read_c0_config(); 701 unsigned int config = read_c0_config();
@@ -1016,7 +1016,7 @@ static void __init probe_pcache(void)
1016 * executes in KSEG1 space or else you will crash and burn badly. You have 1016 * executes in KSEG1 space or else you will crash and burn badly. You have
1017 * been warned. 1017 * been warned.
1018 */ 1018 */
1019static int __init probe_scache(void) 1019static int __cpuinit probe_scache(void)
1020{ 1020{
1021 unsigned long flags, addr, begin, end, pow2; 1021 unsigned long flags, addr, begin, end, pow2;
1022 unsigned int config = read_c0_config(); 1022 unsigned int config = read_c0_config();
@@ -1095,7 +1095,7 @@ extern int r5k_sc_init(void);
1095extern int rm7k_sc_init(void); 1095extern int rm7k_sc_init(void);
1096extern int mips_sc_init(void); 1096extern int mips_sc_init(void);
1097 1097
1098static void __init setup_scache(void) 1098static void __cpuinit setup_scache(void)
1099{ 1099{
1100 struct cpuinfo_mips *c = &current_cpu_data; 1100 struct cpuinfo_mips *c = &current_cpu_data;
1101 unsigned int config = read_c0_config(); 1101 unsigned int config = read_c0_config();
@@ -1206,7 +1206,7 @@ void au1x00_fixup_config_od(void)
1206 } 1206 }
1207} 1207}
1208 1208
1209static void __init coherency_setup(void) 1209static void __cpuinit coherency_setup(void)
1210{ 1210{
1211 change_c0_config(CONF_CM_CMASK, CONF_CM_DEFAULT); 1211 change_c0_config(CONF_CM_CMASK, CONF_CM_DEFAULT);
1212 1212
@@ -1238,7 +1238,7 @@ static void __init coherency_setup(void)
1238 } 1238 }
1239} 1239}
1240 1240
1241void __init r4k_cache_init(void) 1241void __cpuinit r4k_cache_init(void)
1242{ 1242{
1243 extern void build_clear_page(void); 1243 extern void build_clear_page(void);
1244 extern void build_copy_page(void); 1244 extern void build_copy_page(void);
diff --git a/arch/mips/mm/c-tx39.c b/arch/mips/mm/c-tx39.c
index 9ea121e8cdce..b09d56981d53 100644
--- a/arch/mips/mm/c-tx39.c
+++ b/arch/mips/mm/c-tx39.c
@@ -329,7 +329,7 @@ static __init void tx39_probe_cache(void)
329 } 329 }
330} 330}
331 331
332void __init tx39_cache_init(void) 332void __cpuinit tx39_cache_init(void)
333{ 333{
334 extern void build_clear_page(void); 334 extern void build_clear_page(void);
335 extern void build_copy_page(void); 335 extern void build_copy_page(void);
diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c
index 6a24651971df..51ab1faa027d 100644
--- a/arch/mips/mm/cache.c
+++ b/arch/mips/mm/cache.c
@@ -127,9 +127,10 @@ void __update_cache(struct vm_area_struct *vma, unsigned long address,
127 } 127 }
128} 128}
129 129
130static char cache_panic[] __initdata = "Yeee, unsupported cache architecture."; 130static char cache_panic[] __cpuinitdata =
131 "Yeee, unsupported cache architecture.";
131 132
132void __init cpu_cache_init(void) 133void __devinit cpu_cache_init(void)
133{ 134{
134 if (cpu_has_3k_cache) { 135 if (cpu_has_3k_cache) {
135 extern void __weak r3k_cache_init(void); 136 extern void __weak r3k_cache_init(void);
diff --git a/arch/mips/mm/cex-sb1.S b/arch/mips/mm/cex-sb1.S
index e54a62f2807c..2d08268bb705 100644
--- a/arch/mips/mm/cex-sb1.S
+++ b/arch/mips/mm/cex-sb1.S
@@ -34,8 +34,6 @@
34 * is changed. 34 * is changed.
35 */ 35 */
36 36
37 __INIT
38
39 .set mips64 37 .set mips64
40 .set noreorder 38 .set noreorder
41 .set noat 39 .set noat
@@ -51,6 +49,8 @@
51 * (0x170-0x17f) are used to preserve k0, k1, and ra. 49 * (0x170-0x17f) are used to preserve k0, k1, and ra.
52 */ 50 */
53 51
52 __CPUINIT
53
54LEAF(except_vec2_sb1) 54LEAF(except_vec2_sb1)
55 /* 55 /*
56 * If this error is recoverable, we need to exit the handler 56 * If this error is recoverable, we need to exit the handler
diff --git a/arch/mips/mm/pg-r4k.c b/arch/mips/mm/pg-r4k.c
index 9185fbf37c0d..455dedb5b39e 100644
--- a/arch/mips/mm/pg-r4k.c
+++ b/arch/mips/mm/pg-r4k.c
@@ -66,21 +66,21 @@ EXPORT_SYMBOL(copy_page);
66 * with 64-bit kernels. The prefetch offsets have been experimentally tuned 66 * with 64-bit kernels. The prefetch offsets have been experimentally tuned
67 * an Origin 200. 67 * an Origin 200.
68 */ 68 */
69static int pref_offset_clear __initdata = 512; 69static int pref_offset_clear __cpuinitdata = 512;
70static int pref_offset_copy __initdata = 256; 70static int pref_offset_copy __cpuinitdata = 256;
71 71
72static unsigned int pref_src_mode __initdata; 72static unsigned int pref_src_mode __cpuinitdata;
73static unsigned int pref_dst_mode __initdata; 73static unsigned int pref_dst_mode __cpuinitdata;
74 74
75static int load_offset __initdata; 75static int load_offset __cpuinitdata;
76static int store_offset __initdata; 76static int store_offset __cpuinitdata;
77 77
78static unsigned int __initdata *dest, *epc; 78static unsigned int __cpuinitdata *dest, *epc;
79 79
80static unsigned int instruction_pending; 80static unsigned int instruction_pending;
81static union mips_instruction delayed_mi; 81static union mips_instruction delayed_mi;
82 82
83static void __init emit_instruction(union mips_instruction mi) 83static void __cpuinit emit_instruction(union mips_instruction mi)
84{ 84{
85 if (instruction_pending) 85 if (instruction_pending)
86 *epc++ = delayed_mi.word; 86 *epc++ = delayed_mi.word;
@@ -222,7 +222,7 @@ static inline void build_cdex_p(void)
222 emit_instruction(mi); 222 emit_instruction(mi);
223} 223}
224 224
225static void __init __build_store_reg(int reg) 225static void __cpuinit __build_store_reg(int reg)
226{ 226{
227 union mips_instruction mi; 227 union mips_instruction mi;
228 unsigned int width; 228 unsigned int width;
@@ -339,7 +339,7 @@ static inline void build_jr_ra(void)
339 flush_delay_slot_or_nop(); 339 flush_delay_slot_or_nop();
340} 340}
341 341
342void __init build_clear_page(void) 342void __cpuinit build_clear_page(void)
343{ 343{
344 unsigned int loop_start; 344 unsigned int loop_start;
345 unsigned long off; 345 unsigned long off;
@@ -442,7 +442,7 @@ dest = label();
442 pr_debug("\t.set pop\n"); 442 pr_debug("\t.set pop\n");
443} 443}
444 444
445void __init build_copy_page(void) 445void __cpuinit build_copy_page(void)
446{ 446{
447 unsigned int loop_start; 447 unsigned int loop_start;
448 unsigned long off; 448 unsigned long off;
diff --git a/arch/mips/mm/pg-sb1.c b/arch/mips/mm/pg-sb1.c
index 89925ec57d6a..49e289d05414 100644
--- a/arch/mips/mm/pg-sb1.c
+++ b/arch/mips/mm/pg-sb1.c
@@ -293,10 +293,10 @@ void copy_page(void *to, void *from)
293EXPORT_SYMBOL(clear_page); 293EXPORT_SYMBOL(clear_page);
294EXPORT_SYMBOL(copy_page); 294EXPORT_SYMBOL(copy_page);
295 295
296void __init build_clear_page(void) 296void __cpuinit build_clear_page(void)
297{ 297{
298} 298}
299 299
300void __init build_copy_page(void) 300void __cpuinit build_copy_page(void)
301{ 301{
302} 302}
diff --git a/arch/mips/mm/sc-ip22.c b/arch/mips/mm/sc-ip22.c
index d236cf8b7374..1f602a110e10 100644
--- a/arch/mips/mm/sc-ip22.c
+++ b/arch/mips/mm/sc-ip22.c
@@ -168,7 +168,7 @@ struct bcache_ops indy_sc_ops = {
168 .bc_inv = indy_sc_wback_invalidate 168 .bc_inv = indy_sc_wback_invalidate
169}; 169};
170 170
171void __init indy_sc_init(void) 171void __cpuinit indy_sc_init(void)
172{ 172{
173 if (indy_sc_probe()) { 173 if (indy_sc_probe()) {
174 indy_sc_enable(); 174 indy_sc_enable();
diff --git a/arch/mips/mm/sc-mips.c b/arch/mips/mm/sc-mips.c
index c13170bc675c..b55c2d1b998f 100644
--- a/arch/mips/mm/sc-mips.c
+++ b/arch/mips/mm/sc-mips.c
@@ -100,7 +100,7 @@ static inline int __init mips_sc_probe(void)
100 return 1; 100 return 1;
101} 101}
102 102
103int __init mips_sc_init(void) 103int __cpuinit mips_sc_init(void)
104{ 104{
105 int found = mips_sc_probe(); 105 int found = mips_sc_probe();
106 if (found) { 106 if (found) {
@@ -109,4 +109,3 @@ int __init mips_sc_init(void)
109 } 109 }
110 return found; 110 return found;
111} 111}
112
diff --git a/arch/mips/mm/sc-r5k.c b/arch/mips/mm/sc-r5k.c
index d35b6c1103a3..f330d38e5575 100644
--- a/arch/mips/mm/sc-r5k.c
+++ b/arch/mips/mm/sc-r5k.c
@@ -99,7 +99,7 @@ static struct bcache_ops r5k_sc_ops = {
99 .bc_inv = r5k_dma_cache_inv_sc 99 .bc_inv = r5k_dma_cache_inv_sc
100}; 100};
101 101
102void __init r5k_sc_init(void) 102void __cpuinit r5k_sc_init(void)
103{ 103{
104 if (r5k_sc_probe()) { 104 if (r5k_sc_probe()) {
105 r5k_sc_enable(); 105 r5k_sc_enable();
diff --git a/arch/mips/mm/sc-rm7k.c b/arch/mips/mm/sc-rm7k.c
index 31ec73052423..fc227f3b1199 100644
--- a/arch/mips/mm/sc-rm7k.c
+++ b/arch/mips/mm/sc-rm7k.c
@@ -128,7 +128,7 @@ struct bcache_ops rm7k_sc_ops = {
128 .bc_inv = rm7k_sc_inv 128 .bc_inv = rm7k_sc_inv
129}; 129};
130 130
131void __init rm7k_sc_init(void) 131void __cpuinit rm7k_sc_init(void)
132{ 132{
133 struct cpuinfo_mips *c = &current_cpu_data; 133 struct cpuinfo_mips *c = &current_cpu_data;
134 unsigned int config = read_c0_config(); 134 unsigned int config = read_c0_config();
diff --git a/arch/mips/mm/tlb-r3k.c b/arch/mips/mm/tlb-r3k.c
index 7948e9a5e372..a782549ac80e 100644
--- a/arch/mips/mm/tlb-r3k.c
+++ b/arch/mips/mm/tlb-r3k.c
@@ -281,7 +281,7 @@ void __init add_wired_entry(unsigned long entrylo0, unsigned long entrylo1,
281 } 281 }
282} 282}
283 283
284void __init tlb_init(void) 284void __cpuinit tlb_init(void)
285{ 285{
286 local_flush_tlb_all(); 286 local_flush_tlb_all();
287 287
diff --git a/arch/mips/mm/tlb-r4k.c b/arch/mips/mm/tlb-r4k.c
index 74ae0348cc92..63065d6e8063 100644
--- a/arch/mips/mm/tlb-r4k.c
+++ b/arch/mips/mm/tlb-r4k.c
@@ -388,7 +388,7 @@ void __init add_wired_entry(unsigned long entrylo0, unsigned long entrylo1,
388 * lifetime of the system 388 * lifetime of the system
389 */ 389 */
390 390
391static int temp_tlb_entry __initdata; 391static int temp_tlb_entry __cpuinitdata;
392 392
393__init int add_temporary_entry(unsigned long entrylo0, unsigned long entrylo1, 393__init int add_temporary_entry(unsigned long entrylo0, unsigned long entrylo1,
394 unsigned long entryhi, unsigned long pagemask) 394 unsigned long entryhi, unsigned long pagemask)
@@ -427,7 +427,7 @@ out:
427 return ret; 427 return ret;
428} 428}
429 429
430static void __init probe_tlb(unsigned long config) 430static void __cpuinit probe_tlb(unsigned long config)
431{ 431{
432 struct cpuinfo_mips *c = &current_cpu_data; 432 struct cpuinfo_mips *c = &current_cpu_data;
433 unsigned int reg; 433 unsigned int reg;
@@ -455,7 +455,7 @@ static void __init probe_tlb(unsigned long config)
455 c->tlbsize = ((reg >> 25) & 0x3f) + 1; 455 c->tlbsize = ((reg >> 25) & 0x3f) + 1;
456} 456}
457 457
458static int __initdata ntlb = 0; 458static int __cpuinitdata ntlb = 0;
459static int __init set_ntlb(char *str) 459static int __init set_ntlb(char *str)
460{ 460{
461 get_option(&str, &ntlb); 461 get_option(&str, &ntlb);
@@ -464,7 +464,7 @@ static int __init set_ntlb(char *str)
464 464
465__setup("ntlb=", set_ntlb); 465__setup("ntlb=", set_ntlb);
466 466
467void __init tlb_init(void) 467void __cpuinit tlb_init(void)
468{ 468{
469 unsigned int config = read_c0_config(); 469 unsigned int config = read_c0_config();
470 470
@@ -473,7 +473,7 @@ void __init tlb_init(void)
473 * - On R4600 1.7 the tlbp never hits for pages smaller than 473 * - On R4600 1.7 the tlbp never hits for pages smaller than
474 * the value in the c0_pagemask register. 474 * the value in the c0_pagemask register.
475 * - The entire mm handling assumes the c0_pagemask register to 475 * - The entire mm handling assumes the c0_pagemask register to
476 * be set for 4kb pages. 476 * be set to fixed-size pages.
477 */ 477 */
478 probe_tlb(config); 478 probe_tlb(config);
479 write_c0_pagemask(PM_DEFAULT_MASK); 479 write_c0_pagemask(PM_DEFAULT_MASK);
diff --git a/arch/mips/mm/tlb-r8k.c b/arch/mips/mm/tlb-r8k.c
index bd8409d8ff62..4f01a3be215c 100644
--- a/arch/mips/mm/tlb-r8k.c
+++ b/arch/mips/mm/tlb-r8k.c
@@ -214,14 +214,14 @@ void __update_tlb(struct vm_area_struct * vma, unsigned long address, pte_t pte)
214 local_irq_restore(flags); 214 local_irq_restore(flags);
215} 215}
216 216
217static void __init probe_tlb(unsigned long config) 217static void __cpuinit probe_tlb(unsigned long config)
218{ 218{
219 struct cpuinfo_mips *c = &current_cpu_data; 219 struct cpuinfo_mips *c = &current_cpu_data;
220 220
221 c->tlbsize = 3 * 128; /* 3 sets each 128 entries */ 221 c->tlbsize = 3 * 128; /* 3 sets each 128 entries */
222} 222}
223 223
224void __init tlb_init(void) 224void __cpuinit tlb_init(void)
225{ 225{
226 unsigned int config = read_c0_config(); 226 unsigned int config = read_c0_config();
227 unsigned long status; 227 unsigned long status;
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c
index 218a6cc415e8..3a93d4ce2703 100644
--- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c
@@ -60,7 +60,7 @@ static inline int __maybe_unused r10000_llsc_war(void)
60 * why; it's not an issue caused by the core RTL. 60 * why; it's not an issue caused by the core RTL.
61 * 61 *
62 */ 62 */
63static int __init m4kc_tlbp_war(void) 63static int __cpuinit m4kc_tlbp_war(void)
64{ 64{
65 return (current_cpu_data.processor_id & 0xffff00) == 65 return (current_cpu_data.processor_id & 0xffff00) ==
66 (PRID_COMP_MIPS | PRID_IMP_4KC); 66 (PRID_COMP_MIPS | PRID_IMP_4KC);
@@ -144,16 +144,16 @@ static inline void dump_handler(const u32 *handler, int count)
144 * We deliberately chose a buffer size of 128, so we won't scribble 144 * We deliberately chose a buffer size of 128, so we won't scribble
145 * over anything important on overflow before we panic. 145 * over anything important on overflow before we panic.
146 */ 146 */
147static u32 tlb_handler[128] __initdata; 147static u32 tlb_handler[128] __cpuinitdata;
148 148
149/* simply assume worst case size for labels and relocs */ 149/* simply assume worst case size for labels and relocs */
150static struct uasm_label labels[128] __initdata; 150static struct uasm_label labels[128] __cpuinitdata;
151static struct uasm_reloc relocs[128] __initdata; 151static struct uasm_reloc relocs[128] __cpuinitdata;
152 152
153/* 153/*
154 * The R3000 TLB handler is simple. 154 * The R3000 TLB handler is simple.
155 */ 155 */
156static void __init build_r3000_tlb_refill_handler(void) 156static void __cpuinit build_r3000_tlb_refill_handler(void)
157{ 157{
158 long pgdc = (long)pgd_current; 158 long pgdc = (long)pgd_current;
159 u32 *p; 159 u32 *p;
@@ -197,7 +197,7 @@ static void __init build_r3000_tlb_refill_handler(void)
197 * other one.To keep things simple, we first assume linear space, 197 * other one.To keep things simple, we first assume linear space,
198 * then we relocate it to the final handler layout as needed. 198 * then we relocate it to the final handler layout as needed.
199 */ 199 */
200static u32 final_handler[64] __initdata; 200static u32 final_handler[64] __cpuinitdata;
201 201
202/* 202/*
203 * Hazards 203 * Hazards
@@ -221,7 +221,7 @@ static u32 final_handler[64] __initdata;
221 * 221 *
222 * As if we MIPS hackers wouldn't know how to nop pipelines happy ... 222 * As if we MIPS hackers wouldn't know how to nop pipelines happy ...
223 */ 223 */
224static void __init __maybe_unused build_tlb_probe_entry(u32 **p) 224static void __cpuinit __maybe_unused build_tlb_probe_entry(u32 **p)
225{ 225{
226 switch (current_cpu_type()) { 226 switch (current_cpu_type()) {
227 /* Found by experiment: R4600 v2.0 needs this, too. */ 227 /* Found by experiment: R4600 v2.0 needs this, too. */
@@ -245,7 +245,7 @@ static void __init __maybe_unused build_tlb_probe_entry(u32 **p)
245 */ 245 */
246enum tlb_write_entry { tlb_random, tlb_indexed }; 246enum tlb_write_entry { tlb_random, tlb_indexed };
247 247
248static void __init build_tlb_write_entry(u32 **p, struct uasm_label **l, 248static void __cpuinit build_tlb_write_entry(u32 **p, struct uasm_label **l,
249 struct uasm_reloc **r, 249 struct uasm_reloc **r,
250 enum tlb_write_entry wmode) 250 enum tlb_write_entry wmode)
251{ 251{
@@ -389,7 +389,7 @@ static void __init build_tlb_write_entry(u32 **p, struct uasm_label **l,
389 * TMP and PTR are scratch. 389 * TMP and PTR are scratch.
390 * TMP will be clobbered, PTR will hold the pmd entry. 390 * TMP will be clobbered, PTR will hold the pmd entry.
391 */ 391 */
392static void __init 392static void __cpuinit
393build_get_pmde64(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 393build_get_pmde64(u32 **p, struct uasm_label **l, struct uasm_reloc **r,
394 unsigned int tmp, unsigned int ptr) 394 unsigned int tmp, unsigned int ptr)
395{ 395{
@@ -450,7 +450,7 @@ build_get_pmde64(u32 **p, struct uasm_label **l, struct uasm_reloc **r,
450 * BVADDR is the faulting address, PTR is scratch. 450 * BVADDR is the faulting address, PTR is scratch.
451 * PTR will hold the pgd for vmalloc. 451 * PTR will hold the pgd for vmalloc.
452 */ 452 */
453static void __init 453static void __cpuinit
454build_get_pgd_vmalloc64(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 454build_get_pgd_vmalloc64(u32 **p, struct uasm_label **l, struct uasm_reloc **r,
455 unsigned int bvaddr, unsigned int ptr) 455 unsigned int bvaddr, unsigned int ptr)
456{ 456{
@@ -522,7 +522,7 @@ build_get_pgd_vmalloc64(u32 **p, struct uasm_label **l, struct uasm_reloc **r,
522 * TMP and PTR are scratch. 522 * TMP and PTR are scratch.
523 * TMP will be clobbered, PTR will hold the pgd entry. 523 * TMP will be clobbered, PTR will hold the pgd entry.
524 */ 524 */
525static void __init __maybe_unused 525static void __cpuinit __maybe_unused
526build_get_pgde32(u32 **p, unsigned int tmp, unsigned int ptr) 526build_get_pgde32(u32 **p, unsigned int tmp, unsigned int ptr)
527{ 527{
528 long pgdc = (long)pgd_current; 528 long pgdc = (long)pgd_current;
@@ -557,7 +557,7 @@ build_get_pgde32(u32 **p, unsigned int tmp, unsigned int ptr)
557 557
558#endif /* !CONFIG_64BIT */ 558#endif /* !CONFIG_64BIT */
559 559
560static void __init build_adjust_context(u32 **p, unsigned int ctx) 560static void __cpuinit build_adjust_context(u32 **p, unsigned int ctx)
561{ 561{
562 unsigned int shift = 4 - (PTE_T_LOG2 + 1) + PAGE_SHIFT - 12; 562 unsigned int shift = 4 - (PTE_T_LOG2 + 1) + PAGE_SHIFT - 12;
563 unsigned int mask = (PTRS_PER_PTE / 2 - 1) << (PTE_T_LOG2 + 1); 563 unsigned int mask = (PTRS_PER_PTE / 2 - 1) << (PTE_T_LOG2 + 1);
@@ -583,7 +583,7 @@ static void __init build_adjust_context(u32 **p, unsigned int ctx)
583 uasm_i_andi(p, ctx, ctx, mask); 583 uasm_i_andi(p, ctx, ctx, mask);
584} 584}
585 585
586static void __init build_get_ptep(u32 **p, unsigned int tmp, unsigned int ptr) 586static void __cpuinit build_get_ptep(u32 **p, unsigned int tmp, unsigned int ptr)
587{ 587{
588 /* 588 /*
589 * Bug workaround for the Nevada. It seems as if under certain 589 * Bug workaround for the Nevada. It seems as if under certain
@@ -608,7 +608,7 @@ static void __init build_get_ptep(u32 **p, unsigned int tmp, unsigned int ptr)
608 UASM_i_ADDU(p, ptr, ptr, tmp); /* add in offset */ 608 UASM_i_ADDU(p, ptr, ptr, tmp); /* add in offset */
609} 609}
610 610
611static void __init build_update_entries(u32 **p, unsigned int tmp, 611static void __cpuinit build_update_entries(u32 **p, unsigned int tmp,
612 unsigned int ptep) 612 unsigned int ptep)
613{ 613{
614 /* 614 /*
@@ -651,7 +651,7 @@ static void __init build_update_entries(u32 **p, unsigned int tmp,
651#endif 651#endif
652} 652}
653 653
654static void __init build_r4000_tlb_refill_handler(void) 654static void __cpuinit build_r4000_tlb_refill_handler(void)
655{ 655{
656 u32 *p = tlb_handler; 656 u32 *p = tlb_handler;
657 struct uasm_label *l = labels; 657 struct uasm_label *l = labels;
@@ -783,7 +783,7 @@ u32 handle_tlbl[FASTPATH_SIZE] __cacheline_aligned;
783u32 handle_tlbs[FASTPATH_SIZE] __cacheline_aligned; 783u32 handle_tlbs[FASTPATH_SIZE] __cacheline_aligned;
784u32 handle_tlbm[FASTPATH_SIZE] __cacheline_aligned; 784u32 handle_tlbm[FASTPATH_SIZE] __cacheline_aligned;
785 785
786static void __init 786static void __cpuinit
787iPTE_LW(u32 **p, struct uasm_label **l, unsigned int pte, unsigned int ptr) 787iPTE_LW(u32 **p, struct uasm_label **l, unsigned int pte, unsigned int ptr)
788{ 788{
789#ifdef CONFIG_SMP 789#ifdef CONFIG_SMP
@@ -803,7 +803,7 @@ iPTE_LW(u32 **p, struct uasm_label **l, unsigned int pte, unsigned int ptr)
803#endif 803#endif
804} 804}
805 805
806static void __init 806static void __cpuinit
807iPTE_SW(u32 **p, struct uasm_reloc **r, unsigned int pte, unsigned int ptr, 807iPTE_SW(u32 **p, struct uasm_reloc **r, unsigned int pte, unsigned int ptr,
808 unsigned int mode) 808 unsigned int mode)
809{ 809{
@@ -863,7 +863,7 @@ iPTE_SW(u32 **p, struct uasm_reloc **r, unsigned int pte, unsigned int ptr,
863 * the page table where this PTE is located, PTE will be re-loaded 863 * the page table where this PTE is located, PTE will be re-loaded
864 * with it's original value. 864 * with it's original value.
865 */ 865 */
866static void __init 866static void __cpuinit
867build_pte_present(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 867build_pte_present(u32 **p, struct uasm_label **l, struct uasm_reloc **r,
868 unsigned int pte, unsigned int ptr, enum label_id lid) 868 unsigned int pte, unsigned int ptr, enum label_id lid)
869{ 869{
@@ -874,7 +874,7 @@ build_pte_present(u32 **p, struct uasm_label **l, struct uasm_reloc **r,
874} 874}
875 875
876/* Make PTE valid, store result in PTR. */ 876/* Make PTE valid, store result in PTR. */
877static void __init 877static void __cpuinit
878build_make_valid(u32 **p, struct uasm_reloc **r, unsigned int pte, 878build_make_valid(u32 **p, struct uasm_reloc **r, unsigned int pte,
879 unsigned int ptr) 879 unsigned int ptr)
880{ 880{
@@ -887,7 +887,7 @@ build_make_valid(u32 **p, struct uasm_reloc **r, unsigned int pte,
887 * Check if PTE can be written to, if not branch to LABEL. Regardless 887 * Check if PTE can be written to, if not branch to LABEL. Regardless
888 * restore PTE with value from PTR when done. 888 * restore PTE with value from PTR when done.
889 */ 889 */
890static void __init 890static void __cpuinit
891build_pte_writable(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 891build_pte_writable(u32 **p, struct uasm_label **l, struct uasm_reloc **r,
892 unsigned int pte, unsigned int ptr, enum label_id lid) 892 unsigned int pte, unsigned int ptr, enum label_id lid)
893{ 893{
@@ -900,7 +900,7 @@ build_pte_writable(u32 **p, struct uasm_label **l, struct uasm_reloc **r,
900/* Make PTE writable, update software status bits as well, then store 900/* Make PTE writable, update software status bits as well, then store
901 * at PTR. 901 * at PTR.
902 */ 902 */
903static void __init 903static void __cpuinit
904build_make_write(u32 **p, struct uasm_reloc **r, unsigned int pte, 904build_make_write(u32 **p, struct uasm_reloc **r, unsigned int pte,
905 unsigned int ptr) 905 unsigned int ptr)
906{ 906{
@@ -914,7 +914,7 @@ build_make_write(u32 **p, struct uasm_reloc **r, unsigned int pte,
914 * Check if PTE can be modified, if not branch to LABEL. Regardless 914 * Check if PTE can be modified, if not branch to LABEL. Regardless
915 * restore PTE with value from PTR when done. 915 * restore PTE with value from PTR when done.
916 */ 916 */
917static void __init 917static void __cpuinit
918build_pte_modifiable(u32 **p, struct uasm_label **l, struct uasm_reloc **r, 918build_pte_modifiable(u32 **p, struct uasm_label **l, struct uasm_reloc **r,
919 unsigned int pte, unsigned int ptr, enum label_id lid) 919 unsigned int pte, unsigned int ptr, enum label_id lid)
920{ 920{
@@ -931,7 +931,7 @@ build_pte_modifiable(u32 **p, struct uasm_label **l, struct uasm_reloc **r,
931 * This places the pte into ENTRYLO0 and writes it with tlbwi. 931 * This places the pte into ENTRYLO0 and writes it with tlbwi.
932 * Then it returns. 932 * Then it returns.
933 */ 933 */
934static void __init 934static void __cpuinit
935build_r3000_pte_reload_tlbwi(u32 **p, unsigned int pte, unsigned int tmp) 935build_r3000_pte_reload_tlbwi(u32 **p, unsigned int pte, unsigned int tmp)
936{ 936{
937 uasm_i_mtc0(p, pte, C0_ENTRYLO0); /* cp0 delay */ 937 uasm_i_mtc0(p, pte, C0_ENTRYLO0); /* cp0 delay */
@@ -947,7 +947,7 @@ build_r3000_pte_reload_tlbwi(u32 **p, unsigned int pte, unsigned int tmp)
947 * may have the probe fail bit set as a result of a trap on a 947 * may have the probe fail bit set as a result of a trap on a
948 * kseg2 access, i.e. without refill. Then it returns. 948 * kseg2 access, i.e. without refill. Then it returns.
949 */ 949 */
950static void __init 950static void __cpuinit
951build_r3000_tlb_reload_write(u32 **p, struct uasm_label **l, 951build_r3000_tlb_reload_write(u32 **p, struct uasm_label **l,
952 struct uasm_reloc **r, unsigned int pte, 952 struct uasm_reloc **r, unsigned int pte,
953 unsigned int tmp) 953 unsigned int tmp)
@@ -965,7 +965,7 @@ build_r3000_tlb_reload_write(u32 **p, struct uasm_label **l,
965 uasm_i_rfe(p); /* branch delay */ 965 uasm_i_rfe(p); /* branch delay */
966} 966}
967 967
968static void __init 968static void __cpuinit
969build_r3000_tlbchange_handler_head(u32 **p, unsigned int pte, 969build_r3000_tlbchange_handler_head(u32 **p, unsigned int pte,
970 unsigned int ptr) 970 unsigned int ptr)
971{ 971{
@@ -985,7 +985,7 @@ build_r3000_tlbchange_handler_head(u32 **p, unsigned int pte,
985 uasm_i_tlbp(p); /* load delay */ 985 uasm_i_tlbp(p); /* load delay */
986} 986}
987 987
988static void __init build_r3000_tlb_load_handler(void) 988static void __cpuinit build_r3000_tlb_load_handler(void)
989{ 989{
990 u32 *p = handle_tlbl; 990 u32 *p = handle_tlbl;
991 struct uasm_label *l = labels; 991 struct uasm_label *l = labels;
@@ -1015,7 +1015,7 @@ static void __init build_r3000_tlb_load_handler(void)
1015 dump_handler(handle_tlbl, ARRAY_SIZE(handle_tlbl)); 1015 dump_handler(handle_tlbl, ARRAY_SIZE(handle_tlbl));
1016} 1016}
1017 1017
1018static void __init build_r3000_tlb_store_handler(void) 1018static void __cpuinit build_r3000_tlb_store_handler(void)
1019{ 1019{
1020 u32 *p = handle_tlbs; 1020 u32 *p = handle_tlbs;
1021 struct uasm_label *l = labels; 1021 struct uasm_label *l = labels;
@@ -1045,7 +1045,7 @@ static void __init build_r3000_tlb_store_handler(void)
1045 dump_handler(handle_tlbs, ARRAY_SIZE(handle_tlbs)); 1045 dump_handler(handle_tlbs, ARRAY_SIZE(handle_tlbs));
1046} 1046}
1047 1047
1048static void __init build_r3000_tlb_modify_handler(void) 1048static void __cpuinit build_r3000_tlb_modify_handler(void)
1049{ 1049{
1050 u32 *p = handle_tlbm; 1050 u32 *p = handle_tlbm;
1051 struct uasm_label *l = labels; 1051 struct uasm_label *l = labels;
@@ -1078,7 +1078,7 @@ static void __init build_r3000_tlb_modify_handler(void)
1078/* 1078/*
1079 * R4000 style TLB load/store/modify handlers. 1079 * R4000 style TLB load/store/modify handlers.
1080 */ 1080 */
1081static void __init 1081static void __cpuinit
1082build_r4000_tlbchange_handler_head(u32 **p, struct uasm_label **l, 1082build_r4000_tlbchange_handler_head(u32 **p, struct uasm_label **l,
1083 struct uasm_reloc **r, unsigned int pte, 1083 struct uasm_reloc **r, unsigned int pte,
1084 unsigned int ptr) 1084 unsigned int ptr)
@@ -1103,7 +1103,7 @@ build_r4000_tlbchange_handler_head(u32 **p, struct uasm_label **l,
1103 build_tlb_probe_entry(p); 1103 build_tlb_probe_entry(p);
1104} 1104}
1105 1105
1106static void __init 1106static void __cpuinit
1107build_r4000_tlbchange_handler_tail(u32 **p, struct uasm_label **l, 1107build_r4000_tlbchange_handler_tail(u32 **p, struct uasm_label **l,
1108 struct uasm_reloc **r, unsigned int tmp, 1108 struct uasm_reloc **r, unsigned int tmp,
1109 unsigned int ptr) 1109 unsigned int ptr)
@@ -1120,7 +1120,7 @@ build_r4000_tlbchange_handler_tail(u32 **p, struct uasm_label **l,
1120#endif 1120#endif
1121} 1121}
1122 1122
1123static void __init build_r4000_tlb_load_handler(void) 1123static void __cpuinit build_r4000_tlb_load_handler(void)
1124{ 1124{
1125 u32 *p = handle_tlbl; 1125 u32 *p = handle_tlbl;
1126 struct uasm_label *l = labels; 1126 struct uasm_label *l = labels;
@@ -1160,7 +1160,7 @@ static void __init build_r4000_tlb_load_handler(void)
1160 dump_handler(handle_tlbl, ARRAY_SIZE(handle_tlbl)); 1160 dump_handler(handle_tlbl, ARRAY_SIZE(handle_tlbl));
1161} 1161}
1162 1162
1163static void __init build_r4000_tlb_store_handler(void) 1163static void __cpuinit build_r4000_tlb_store_handler(void)
1164{ 1164{
1165 u32 *p = handle_tlbs; 1165 u32 *p = handle_tlbs;
1166 struct uasm_label *l = labels; 1166 struct uasm_label *l = labels;
@@ -1191,7 +1191,7 @@ static void __init build_r4000_tlb_store_handler(void)
1191 dump_handler(handle_tlbs, ARRAY_SIZE(handle_tlbs)); 1191 dump_handler(handle_tlbs, ARRAY_SIZE(handle_tlbs));
1192} 1192}
1193 1193
1194static void __init build_r4000_tlb_modify_handler(void) 1194static void __cpuinit build_r4000_tlb_modify_handler(void)
1195{ 1195{
1196 u32 *p = handle_tlbm; 1196 u32 *p = handle_tlbm;
1197 struct uasm_label *l = labels; 1197 struct uasm_label *l = labels;
@@ -1223,7 +1223,7 @@ static void __init build_r4000_tlb_modify_handler(void)
1223 dump_handler(handle_tlbm, ARRAY_SIZE(handle_tlbm)); 1223 dump_handler(handle_tlbm, ARRAY_SIZE(handle_tlbm));
1224} 1224}
1225 1225
1226void __init build_tlb_refill_handler(void) 1226void __cpuinit build_tlb_refill_handler(void)
1227{ 1227{
1228 /* 1228 /*
1229 * The refill handler is generated per-CPU, multi-node systems 1229 * The refill handler is generated per-CPU, multi-node systems
@@ -1269,7 +1269,7 @@ void __init build_tlb_refill_handler(void)
1269 } 1269 }
1270} 1270}
1271 1271
1272void __init flush_tlb_handlers(void) 1272void __cpuinit flush_tlb_handlers(void)
1273{ 1273{
1274 flush_icache_range((unsigned long)handle_tlbl, 1274 flush_icache_range((unsigned long)handle_tlbl,
1275 (unsigned long)handle_tlbl + sizeof(handle_tlbl)); 1275 (unsigned long)handle_tlbl + sizeof(handle_tlbl));
diff --git a/arch/mips/mm/uasm.c b/arch/mips/mm/uasm.c
index e3f74ed5f704..1a6f7704cc89 100644
--- a/arch/mips/mm/uasm.c
+++ b/arch/mips/mm/uasm.c
@@ -82,7 +82,7 @@ struct insn {
82 | (e) << RE_SH \ 82 | (e) << RE_SH \
83 | (f) << FUNC_SH) 83 | (f) << FUNC_SH)
84 84
85static struct insn insn_table[] __initdata = { 85static struct insn insn_table[] __cpuinitdata = {
86 { insn_addiu, M(addiu_op, 0, 0, 0, 0, 0), RS | RT | SIMM }, 86 { insn_addiu, M(addiu_op, 0, 0, 0, 0, 0), RS | RT | SIMM },
87 { insn_addu, M(spec_op, 0, 0, 0, 0, addu_op), RS | RT | RD }, 87 { insn_addu, M(spec_op, 0, 0, 0, 0, addu_op), RS | RT | RD },
88 { insn_and, M(spec_op, 0, 0, 0, 0, and_op), RS | RT | RD }, 88 { insn_and, M(spec_op, 0, 0, 0, 0, and_op), RS | RT | RD },
@@ -135,7 +135,7 @@ static struct insn insn_table[] __initdata = {
135 135
136#undef M 136#undef M
137 137
138static inline __init u32 build_rs(u32 arg) 138static inline __cpuinit u32 build_rs(u32 arg)
139{ 139{
140 if (arg & ~RS_MASK) 140 if (arg & ~RS_MASK)
141 printk(KERN_WARNING "Micro-assembler field overflow\n"); 141 printk(KERN_WARNING "Micro-assembler field overflow\n");
@@ -143,7 +143,7 @@ static inline __init u32 build_rs(u32 arg)
143 return (arg & RS_MASK) << RS_SH; 143 return (arg & RS_MASK) << RS_SH;
144} 144}
145 145
146static inline __init u32 build_rt(u32 arg) 146static inline __cpuinit u32 build_rt(u32 arg)
147{ 147{
148 if (arg & ~RT_MASK) 148 if (arg & ~RT_MASK)
149 printk(KERN_WARNING "Micro-assembler field overflow\n"); 149 printk(KERN_WARNING "Micro-assembler field overflow\n");
@@ -151,7 +151,7 @@ static inline __init u32 build_rt(u32 arg)
151 return (arg & RT_MASK) << RT_SH; 151 return (arg & RT_MASK) << RT_SH;
152} 152}
153 153
154static inline __init u32 build_rd(u32 arg) 154static inline __cpuinit u32 build_rd(u32 arg)
155{ 155{
156 if (arg & ~RD_MASK) 156 if (arg & ~RD_MASK)
157 printk(KERN_WARNING "Micro-assembler field overflow\n"); 157 printk(KERN_WARNING "Micro-assembler field overflow\n");
@@ -159,7 +159,7 @@ static inline __init u32 build_rd(u32 arg)
159 return (arg & RD_MASK) << RD_SH; 159 return (arg & RD_MASK) << RD_SH;
160} 160}
161 161
162static inline __init u32 build_re(u32 arg) 162static inline __cpuinit u32 build_re(u32 arg)
163{ 163{
164 if (arg & ~RE_MASK) 164 if (arg & ~RE_MASK)
165 printk(KERN_WARNING "Micro-assembler field overflow\n"); 165 printk(KERN_WARNING "Micro-assembler field overflow\n");
@@ -167,7 +167,7 @@ static inline __init u32 build_re(u32 arg)
167 return (arg & RE_MASK) << RE_SH; 167 return (arg & RE_MASK) << RE_SH;
168} 168}
169 169
170static inline __init u32 build_simm(s32 arg) 170static inline __cpuinit u32 build_simm(s32 arg)
171{ 171{
172 if (arg > 0x7fff || arg < -0x8000) 172 if (arg > 0x7fff || arg < -0x8000)
173 printk(KERN_WARNING "Micro-assembler field overflow\n"); 173 printk(KERN_WARNING "Micro-assembler field overflow\n");
@@ -175,7 +175,7 @@ static inline __init u32 build_simm(s32 arg)
175 return arg & 0xffff; 175 return arg & 0xffff;
176} 176}
177 177
178static inline __init u32 build_uimm(u32 arg) 178static inline __cpuinit u32 build_uimm(u32 arg)
179{ 179{
180 if (arg & ~IMM_MASK) 180 if (arg & ~IMM_MASK)
181 printk(KERN_WARNING "Micro-assembler field overflow\n"); 181 printk(KERN_WARNING "Micro-assembler field overflow\n");
@@ -183,7 +183,7 @@ static inline __init u32 build_uimm(u32 arg)
183 return arg & IMM_MASK; 183 return arg & IMM_MASK;
184} 184}
185 185
186static inline __init u32 build_bimm(s32 arg) 186static inline __cpuinit u32 build_bimm(s32 arg)
187{ 187{
188 if (arg > 0x1ffff || arg < -0x20000) 188 if (arg > 0x1ffff || arg < -0x20000)
189 printk(KERN_WARNING "Micro-assembler field overflow\n"); 189 printk(KERN_WARNING "Micro-assembler field overflow\n");
@@ -194,7 +194,7 @@ static inline __init u32 build_bimm(s32 arg)
194 return ((arg < 0) ? (1 << 15) : 0) | ((arg >> 2) & 0x7fff); 194 return ((arg < 0) ? (1 << 15) : 0) | ((arg >> 2) & 0x7fff);
195} 195}
196 196
197static inline __init u32 build_jimm(u32 arg) 197static inline __cpuinit u32 build_jimm(u32 arg)
198{ 198{
199 if (arg & ~((JIMM_MASK) << 2)) 199 if (arg & ~((JIMM_MASK) << 2))
200 printk(KERN_WARNING "Micro-assembler field overflow\n"); 200 printk(KERN_WARNING "Micro-assembler field overflow\n");
@@ -202,7 +202,7 @@ static inline __init u32 build_jimm(u32 arg)
202 return (arg >> 2) & JIMM_MASK; 202 return (arg >> 2) & JIMM_MASK;
203} 203}
204 204
205static inline __init u32 build_func(u32 arg) 205static inline __cpuinit u32 build_func(u32 arg)
206{ 206{
207 if (arg & ~FUNC_MASK) 207 if (arg & ~FUNC_MASK)
208 printk(KERN_WARNING "Micro-assembler field overflow\n"); 208 printk(KERN_WARNING "Micro-assembler field overflow\n");
@@ -210,7 +210,7 @@ static inline __init u32 build_func(u32 arg)
210 return arg & FUNC_MASK; 210 return arg & FUNC_MASK;
211} 211}
212 212
213static inline __init u32 build_set(u32 arg) 213static inline __cpuinit u32 build_set(u32 arg)
214{ 214{
215 if (arg & ~SET_MASK) 215 if (arg & ~SET_MASK)
216 printk(KERN_WARNING "Micro-assembler field overflow\n"); 216 printk(KERN_WARNING "Micro-assembler field overflow\n");
@@ -222,7 +222,7 @@ static inline __init u32 build_set(u32 arg)
222 * The order of opcode arguments is implicitly left to right, 222 * The order of opcode arguments is implicitly left to right,
223 * starting with RS and ending with FUNC or IMM. 223 * starting with RS and ending with FUNC or IMM.
224 */ 224 */
225static void __init build_insn(u32 **buf, enum opcode opc, ...) 225static void __cpuinit build_insn(u32 **buf, enum opcode opc, ...)
226{ 226{
227 struct insn *ip = NULL; 227 struct insn *ip = NULL;
228 unsigned int i; 228 unsigned int i;
@@ -375,14 +375,14 @@ I_u3u1u2(_xor)
375I_u2u1u3(_xori) 375I_u2u1u3(_xori)
376 376
377/* Handle labels. */ 377/* Handle labels. */
378void __init uasm_build_label(struct uasm_label **lab, u32 *addr, int lid) 378void __cpuinit uasm_build_label(struct uasm_label **lab, u32 *addr, int lid)
379{ 379{
380 (*lab)->addr = addr; 380 (*lab)->addr = addr;
381 (*lab)->lab = lid; 381 (*lab)->lab = lid;
382 (*lab)++; 382 (*lab)++;
383} 383}
384 384
385int __init uasm_in_compat_space_p(long addr) 385int __cpuinit uasm_in_compat_space_p(long addr)
386{ 386{
387 /* Is this address in 32bit compat space? */ 387 /* Is this address in 32bit compat space? */
388#ifdef CONFIG_64BIT 388#ifdef CONFIG_64BIT
@@ -392,7 +392,7 @@ int __init uasm_in_compat_space_p(long addr)
392#endif 392#endif
393} 393}
394 394
395int __init uasm_rel_highest(long val) 395int __cpuinit uasm_rel_highest(long val)
396{ 396{
397#ifdef CONFIG_64BIT 397#ifdef CONFIG_64BIT
398 return ((((val + 0x800080008000L) >> 48) & 0xffff) ^ 0x8000) - 0x8000; 398 return ((((val + 0x800080008000L) >> 48) & 0xffff) ^ 0x8000) - 0x8000;
@@ -401,7 +401,7 @@ int __init uasm_rel_highest(long val)
401#endif 401#endif
402} 402}
403 403
404int __init uasm_rel_higher(long val) 404int __cpuinit uasm_rel_higher(long val)
405{ 405{
406#ifdef CONFIG_64BIT 406#ifdef CONFIG_64BIT
407 return ((((val + 0x80008000L) >> 32) & 0xffff) ^ 0x8000) - 0x8000; 407 return ((((val + 0x80008000L) >> 32) & 0xffff) ^ 0x8000) - 0x8000;
@@ -410,17 +410,17 @@ int __init uasm_rel_higher(long val)
410#endif 410#endif
411} 411}
412 412
413int __init uasm_rel_hi(long val) 413int __cpuinit uasm_rel_hi(long val)
414{ 414{
415 return ((((val + 0x8000L) >> 16) & 0xffff) ^ 0x8000) - 0x8000; 415 return ((((val + 0x8000L) >> 16) & 0xffff) ^ 0x8000) - 0x8000;
416} 416}
417 417
418int __init uasm_rel_lo(long val) 418int __cpuinit uasm_rel_lo(long val)
419{ 419{
420 return ((val & 0xffff) ^ 0x8000) - 0x8000; 420 return ((val & 0xffff) ^ 0x8000) - 0x8000;
421} 421}
422 422
423void __init UASM_i_LA_mostly(u32 **buf, unsigned int rs, long addr) 423void __cpuinit UASM_i_LA_mostly(u32 **buf, unsigned int rs, long addr)
424{ 424{
425 if (!uasm_in_compat_space_p(addr)) { 425 if (!uasm_in_compat_space_p(addr)) {
426 uasm_i_lui(buf, rs, uasm_rel_highest(addr)); 426 uasm_i_lui(buf, rs, uasm_rel_highest(addr));
@@ -436,7 +436,7 @@ void __init UASM_i_LA_mostly(u32 **buf, unsigned int rs, long addr)
436 uasm_i_lui(buf, rs, uasm_rel_hi(addr)); 436 uasm_i_lui(buf, rs, uasm_rel_hi(addr));
437} 437}
438 438
439void __init UASM_i_LA(u32 **buf, unsigned int rs, long addr) 439void __cpuinit UASM_i_LA(u32 **buf, unsigned int rs, long addr)
440{ 440{
441 UASM_i_LA_mostly(buf, rs, addr); 441 UASM_i_LA_mostly(buf, rs, addr);
442 if (uasm_rel_lo(addr)) { 442 if (uasm_rel_lo(addr)) {
@@ -448,7 +448,7 @@ void __init UASM_i_LA(u32 **buf, unsigned int rs, long addr)
448} 448}
449 449
450/* Handle relocations. */ 450/* Handle relocations. */
451void __init 451void __cpuinit
452uasm_r_mips_pc16(struct uasm_reloc **rel, u32 *addr, int lid) 452uasm_r_mips_pc16(struct uasm_reloc **rel, u32 *addr, int lid)
453{ 453{
454 (*rel)->addr = addr; 454 (*rel)->addr = addr;
@@ -457,7 +457,7 @@ uasm_r_mips_pc16(struct uasm_reloc **rel, u32 *addr, int lid)
457 (*rel)++; 457 (*rel)++;
458} 458}
459 459
460static inline void __init 460static inline void __cpuinit
461__resolve_relocs(struct uasm_reloc *rel, struct uasm_label *lab) 461__resolve_relocs(struct uasm_reloc *rel, struct uasm_label *lab)
462{ 462{
463 long laddr = (long)lab->addr; 463 long laddr = (long)lab->addr;
@@ -474,7 +474,7 @@ __resolve_relocs(struct uasm_reloc *rel, struct uasm_label *lab)
474 } 474 }
475} 475}
476 476
477void __init 477void __cpuinit
478uasm_resolve_relocs(struct uasm_reloc *rel, struct uasm_label *lab) 478uasm_resolve_relocs(struct uasm_reloc *rel, struct uasm_label *lab)
479{ 479{
480 struct uasm_label *l; 480 struct uasm_label *l;
@@ -485,7 +485,7 @@ uasm_resolve_relocs(struct uasm_reloc *rel, struct uasm_label *lab)
485 __resolve_relocs(rel, l); 485 __resolve_relocs(rel, l);
486} 486}
487 487
488void __init 488void __cpuinit
489uasm_move_relocs(struct uasm_reloc *rel, u32 *first, u32 *end, long off) 489uasm_move_relocs(struct uasm_reloc *rel, u32 *first, u32 *end, long off)
490{ 490{
491 for (; rel->lab != UASM_LABEL_INVALID; rel++) 491 for (; rel->lab != UASM_LABEL_INVALID; rel++)
@@ -493,7 +493,7 @@ uasm_move_relocs(struct uasm_reloc *rel, u32 *first, u32 *end, long off)
493 rel->addr += off; 493 rel->addr += off;
494} 494}
495 495
496void __init 496void __cpuinit
497uasm_move_labels(struct uasm_label *lab, u32 *first, u32 *end, long off) 497uasm_move_labels(struct uasm_label *lab, u32 *first, u32 *end, long off)
498{ 498{
499 for (; lab->lab != UASM_LABEL_INVALID; lab++) 499 for (; lab->lab != UASM_LABEL_INVALID; lab++)
@@ -501,7 +501,7 @@ uasm_move_labels(struct uasm_label *lab, u32 *first, u32 *end, long off)
501 lab->addr += off; 501 lab->addr += off;
502} 502}
503 503
504void __init 504void __cpuinit
505uasm_copy_handler(struct uasm_reloc *rel, struct uasm_label *lab, u32 *first, 505uasm_copy_handler(struct uasm_reloc *rel, struct uasm_label *lab, u32 *first,
506 u32 *end, u32 *target) 506 u32 *end, u32 *target)
507{ 507{
@@ -513,7 +513,7 @@ uasm_copy_handler(struct uasm_reloc *rel, struct uasm_label *lab, u32 *first,
513 uasm_move_labels(lab, first, end, off); 513 uasm_move_labels(lab, first, end, off);
514} 514}
515 515
516int __init uasm_insn_has_bdelay(struct uasm_reloc *rel, u32 *addr) 516int __cpuinit uasm_insn_has_bdelay(struct uasm_reloc *rel, u32 *addr)
517{ 517{
518 for (; rel->lab != UASM_LABEL_INVALID; rel++) { 518 for (; rel->lab != UASM_LABEL_INVALID; rel++) {
519 if (rel->addr == addr 519 if (rel->addr == addr
@@ -526,49 +526,49 @@ int __init uasm_insn_has_bdelay(struct uasm_reloc *rel, u32 *addr)
526} 526}
527 527
528/* Convenience functions for labeled branches. */ 528/* Convenience functions for labeled branches. */
529void __init 529void __cpuinit
530uasm_il_bltz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 530uasm_il_bltz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid)
531{ 531{
532 uasm_r_mips_pc16(r, *p, lid); 532 uasm_r_mips_pc16(r, *p, lid);
533 uasm_i_bltz(p, reg, 0); 533 uasm_i_bltz(p, reg, 0);
534} 534}
535 535
536void __init 536void __cpuinit
537uasm_il_b(u32 **p, struct uasm_reloc **r, int lid) 537uasm_il_b(u32 **p, struct uasm_reloc **r, int lid)
538{ 538{
539 uasm_r_mips_pc16(r, *p, lid); 539 uasm_r_mips_pc16(r, *p, lid);
540 uasm_i_b(p, 0); 540 uasm_i_b(p, 0);
541} 541}
542 542
543void __init 543void __cpuinit
544uasm_il_beqz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 544uasm_il_beqz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid)
545{ 545{
546 uasm_r_mips_pc16(r, *p, lid); 546 uasm_r_mips_pc16(r, *p, lid);
547 uasm_i_beqz(p, reg, 0); 547 uasm_i_beqz(p, reg, 0);
548} 548}
549 549
550void __init 550void __cpuinit
551uasm_il_beqzl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 551uasm_il_beqzl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid)
552{ 552{
553 uasm_r_mips_pc16(r, *p, lid); 553 uasm_r_mips_pc16(r, *p, lid);
554 uasm_i_beqzl(p, reg, 0); 554 uasm_i_beqzl(p, reg, 0);
555} 555}
556 556
557void __init 557void __cpuinit
558uasm_il_bnez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 558uasm_il_bnez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid)
559{ 559{
560 uasm_r_mips_pc16(r, *p, lid); 560 uasm_r_mips_pc16(r, *p, lid);
561 uasm_i_bnez(p, reg, 0); 561 uasm_i_bnez(p, reg, 0);
562} 562}
563 563
564void __init 564void __cpuinit
565uasm_il_bgezl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 565uasm_il_bgezl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid)
566{ 566{
567 uasm_r_mips_pc16(r, *p, lid); 567 uasm_r_mips_pc16(r, *p, lid);
568 uasm_i_bgezl(p, reg, 0); 568 uasm_i_bgezl(p, reg, 0);
569} 569}
570 570
571void __init 571void __cpuinit
572uasm_il_bgez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid) 572uasm_il_bgez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid)
573{ 573{
574 uasm_r_mips_pc16(r, *p, lid); 574 uasm_r_mips_pc16(r, *p, lid);
diff --git a/arch/mips/mm/uasm.h b/arch/mips/mm/uasm.h
index a10fc1135c76..fe0574f6e77d 100644
--- a/arch/mips/mm/uasm.h
+++ b/arch/mips/mm/uasm.h
@@ -11,38 +11,38 @@
11#include <linux/types.h> 11#include <linux/types.h>
12 12
13#define Ip_u1u2u3(op) \ 13#define Ip_u1u2u3(op) \
14void __init \ 14void __cpuinit \
15uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c) 15uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c)
16 16
17#define Ip_u2u1u3(op) \ 17#define Ip_u2u1u3(op) \
18void __init \ 18void __cpuinit \
19uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c) 19uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c)
20 20
21#define Ip_u3u1u2(op) \ 21#define Ip_u3u1u2(op) \
22void __init \ 22void __cpuinit \
23uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c) 23uasm_i##op(u32 **buf, unsigned int a, unsigned int b, unsigned int c)
24 24
25#define Ip_u1u2s3(op) \ 25#define Ip_u1u2s3(op) \
26void __init \ 26void __cpuinit \
27uasm_i##op(u32 **buf, unsigned int a, unsigned int b, signed int c) 27uasm_i##op(u32 **buf, unsigned int a, unsigned int b, signed int c)
28 28
29#define Ip_u2s3u1(op) \ 29#define Ip_u2s3u1(op) \
30void __init \ 30void __cpuinit \
31uasm_i##op(u32 **buf, unsigned int a, signed int b, unsigned int c) 31uasm_i##op(u32 **buf, unsigned int a, signed int b, unsigned int c)
32 32
33#define Ip_u2u1s3(op) \ 33#define Ip_u2u1s3(op) \
34void __init \ 34void __cpuinit \
35uasm_i##op(u32 **buf, unsigned int a, unsigned int b, signed int c) 35uasm_i##op(u32 **buf, unsigned int a, unsigned int b, signed int c)
36 36
37#define Ip_u1u2(op) \ 37#define Ip_u1u2(op) \
38void __init uasm_i##op(u32 **buf, unsigned int a, unsigned int b) 38void __cpuinit uasm_i##op(u32 **buf, unsigned int a, unsigned int b)
39 39
40#define Ip_u1s2(op) \ 40#define Ip_u1s2(op) \
41void __init uasm_i##op(u32 **buf, unsigned int a, signed int b) 41void __cpuinit uasm_i##op(u32 **buf, unsigned int a, signed int b)
42 42
43#define Ip_u1(op) void __init uasm_i##op(u32 **buf, unsigned int a) 43#define Ip_u1(op) void __cpuinit uasm_i##op(u32 **buf, unsigned int a)
44 44
45#define Ip_0(op) void __init uasm_i##op(u32 **buf) 45#define Ip_0(op) void __cpuinit uasm_i##op(u32 **buf)
46 46
47Ip_u2u1s3(_addiu); 47Ip_u2u1s3(_addiu);
48Ip_u3u1u2(_addu); 48Ip_u3u1u2(_addu);
@@ -98,19 +98,19 @@ struct uasm_label {
98 int lab; 98 int lab;
99}; 99};
100 100
101void __init uasm_build_label(struct uasm_label **lab, u32 *addr, int lid); 101void __cpuinit uasm_build_label(struct uasm_label **lab, u32 *addr, int lid);
102#ifdef CONFIG_64BIT 102#ifdef CONFIG_64BIT
103int __init uasm_in_compat_space_p(long addr); 103int uasm_in_compat_space_p(long addr);
104int __init uasm_rel_highest(long val); 104int uasm_rel_highest(long val);
105int __init uasm_rel_higher(long val); 105int uasm_rel_higher(long val);
106#endif 106#endif
107int __init uasm_rel_hi(long val); 107int uasm_rel_hi(long val);
108int __init uasm_rel_lo(long val); 108int uasm_rel_lo(long val);
109void __init UASM_i_LA_mostly(u32 **buf, unsigned int rs, long addr); 109void UASM_i_LA_mostly(u32 **buf, unsigned int rs, long addr);
110void __init UASM_i_LA(u32 **buf, unsigned int rs, long addr); 110void UASM_i_LA(u32 **buf, unsigned int rs, long addr);
111 111
112#define UASM_L_LA(lb) \ 112#define UASM_L_LA(lb) \
113static inline void __init uasm_l##lb(struct uasm_label **lab, u32 *addr) \ 113static inline void __cpuinit uasm_l##lb(struct uasm_label **lab, u32 *addr) \
114{ \ 114{ \
115 uasm_build_label(lab, addr, label##lb); \ 115 uasm_build_label(lab, addr, label##lb); \
116} 116}
@@ -164,29 +164,19 @@ struct uasm_reloc {
164/* This is zero so we can use zeroed label arrays. */ 164/* This is zero so we can use zeroed label arrays. */
165#define UASM_LABEL_INVALID 0 165#define UASM_LABEL_INVALID 0
166 166
167void __init uasm_r_mips_pc16(struct uasm_reloc **rel, u32 *addr, int lid); 167void uasm_r_mips_pc16(struct uasm_reloc **rel, u32 *addr, int lid);
168void __init 168void uasm_resolve_relocs(struct uasm_reloc *rel, struct uasm_label *lab);
169uasm_resolve_relocs(struct uasm_reloc *rel, struct uasm_label *lab); 169void uasm_move_relocs(struct uasm_reloc *rel, u32 *first, u32 *end, long off);
170void __init 170void uasm_move_labels(struct uasm_label *lab, u32 *first, u32 *end, long off);
171uasm_move_relocs(struct uasm_reloc *rel, u32 *first, u32 *end, long off); 171void uasm_copy_handler(struct uasm_reloc *rel, struct uasm_label *lab,
172void __init 172 u32 *first, u32 *end, u32 *target);
173uasm_move_labels(struct uasm_label *lab, u32 *first, u32 *end, long off); 173int uasm_insn_has_bdelay(struct uasm_reloc *rel, u32 *addr);
174void __init
175uasm_copy_handler(struct uasm_reloc *rel, struct uasm_label *lab, u32 *first,
176 u32 *end, u32 *target);
177int __init uasm_insn_has_bdelay(struct uasm_reloc *rel, u32 *addr);
178 174
179/* Convenience functions for labeled branches. */ 175/* Convenience functions for labeled branches. */
180void __init 176void uasm_il_bltz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
181uasm_il_bltz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 177void uasm_il_b(u32 **p, struct uasm_reloc **r, int lid);
182void __init uasm_il_b(u32 **p, struct uasm_reloc **r, int lid); 178void uasm_il_beqz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
183void __init 179void uasm_il_beqzl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
184uasm_il_beqz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 180void uasm_il_bnez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
185void __init 181void uasm_il_bgezl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
186uasm_il_beqzl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 182void uasm_il_bgez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
187void __init
188uasm_il_bnez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
189void __init
190uasm_il_bgezl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
191void __init
192uasm_il_bgez(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
diff --git a/arch/mips/pci/pci-bcm1480.c b/arch/mips/pci/pci-bcm1480.c
index 30ed36125bcd..ab68c4318a30 100644
--- a/arch/mips/pci/pci-bcm1480.c
+++ b/arch/mips/pci/pci-bcm1480.c
@@ -249,8 +249,9 @@ static int __init bcm1480_pcibios_init(void)
249 * XXX ehs: Should this happen in PCI Device mode? 249 * XXX ehs: Should this happen in PCI Device mode?
250 */ 250 */
251 251
252 set_io_port_base((unsigned long) 252 bcm1480_controller.io_map_base = (unsigned long)
253 ioremap(A_BCM1480_PHYS_PCI_IO_MATCH_BYTES, 65536)); 253 ioremap(A_BCM1480_PHYS_PCI_IO_MATCH_BYTES, 65536);
254 set_io_port_base(bcm1480_controller.io_map_base);
254 isa_slot_offset = (unsigned long) 255 isa_slot_offset = (unsigned long)
255 ioremap(A_BCM1480_PHYS_PCI_MEM_MATCH_BYTES, 1024*1024); 256 ioremap(A_BCM1480_PHYS_PCI_MEM_MATCH_BYTES, 1024*1024);
256 257
diff --git a/arch/mips/pci/pci-ip27.c b/arch/mips/pci/pci-ip27.c
index a322543ac34e..bb64828a92fe 100644
--- a/arch/mips/pci/pci-ip27.c
+++ b/arch/mips/pci/pci-ip27.c
@@ -40,7 +40,7 @@ int irq_to_slot[MAX_PCI_BUSSES * MAX_DEVICES_PER_PCIBUS];
40 40
41extern struct pci_ops bridge_pci_ops; 41extern struct pci_ops bridge_pci_ops;
42 42
43int __init bridge_probe(nasid_t nasid, int widget_id, int masterwid) 43int __cpuinit bridge_probe(nasid_t nasid, int widget_id, int masterwid)
44{ 44{
45 unsigned long offset = NODE_OFFSET(nasid); 45 unsigned long offset = NODE_OFFSET(nasid);
46 struct bridge_controller *bc; 46 struct bridge_controller *bc;
diff --git a/arch/mips/pci/pci.c b/arch/mips/pci/pci.c
index f9471d77c096..358ad6210949 100644
--- a/arch/mips/pci/pci.c
+++ b/arch/mips/pci/pci.c
@@ -260,7 +260,7 @@ static void pcibios_fixup_device_resources(struct pci_dev *dev,
260 } 260 }
261} 261}
262 262
263void pcibios_fixup_bus(struct pci_bus *bus) 263void __devinit pcibios_fixup_bus(struct pci_bus *bus)
264{ 264{
265 /* Propagate hose info into the subordinate devices. */ 265 /* Propagate hose info into the subordinate devices. */
266 266
diff --git a/arch/mips/pmc-sierra/yosemite/smp.c b/arch/mips/pmc-sierra/yosemite/smp.c
index 653f3ec61cab..3a7df647ca77 100644
--- a/arch/mips/pmc-sierra/yosemite/smp.c
+++ b/arch/mips/pmc-sierra/yosemite/smp.c
@@ -7,10 +7,10 @@
7 7
8#define LAUNCHSTACK_SIZE 256 8#define LAUNCHSTACK_SIZE 256
9 9
10static __initdata DEFINE_SPINLOCK(launch_lock); 10static __cpuinitdata DEFINE_SPINLOCK(launch_lock);
11 11
12static unsigned long secondary_sp __initdata; 12static unsigned long secondary_sp __cpuinitdata;
13static unsigned long secondary_gp __initdata; 13static unsigned long secondary_gp __cpuinitdata;
14 14
15static unsigned char launchstack[LAUNCHSTACK_SIZE] __initdata 15static unsigned char launchstack[LAUNCHSTACK_SIZE] __initdata
16 __attribute__((aligned(2 * sizeof(long)))); 16 __attribute__((aligned(2 * sizeof(long))));
diff --git a/arch/mips/sgi-ip27/ip27-init.c b/arch/mips/sgi-ip27/ip27-init.c
index a49e7c85f724..7093e7c573a4 100644
--- a/arch/mips/sgi-ip27/ip27-init.c
+++ b/arch/mips/sgi-ip27/ip27-init.c
@@ -53,7 +53,7 @@ extern void pcibr_setup(cnodeid_t);
53 53
54extern void xtalk_probe_node(cnodeid_t nid); 54extern void xtalk_probe_node(cnodeid_t nid);
55 55
56static void __init per_hub_init(cnodeid_t cnode) 56static void __cpuinit per_hub_init(cnodeid_t cnode)
57{ 57{
58 struct hub_data *hub = hub_data(cnode); 58 struct hub_data *hub = hub_data(cnode);
59 nasid_t nasid = COMPACT_TO_NASID_NODEID(cnode); 59 nasid_t nasid = COMPACT_TO_NASID_NODEID(cnode);
diff --git a/arch/mips/sgi-ip27/ip27-timer.c b/arch/mips/sgi-ip27/ip27-timer.c
index 08d45369be45..25d3baf0ebc4 100644
--- a/arch/mips/sgi-ip27/ip27-timer.c
+++ b/arch/mips/sgi-ip27/ip27-timer.c
@@ -285,7 +285,7 @@ void __cpuinit cpu_time_init(void)
285 set_c0_status(SRB_TIMOCLK); 285 set_c0_status(SRB_TIMOCLK);
286} 286}
287 287
288void __init hub_rtc_init(cnodeid_t cnode) 288void __cpuinit hub_rtc_init(cnodeid_t cnode)
289{ 289{
290 /* 290 /*
291 * We only need to initialize the current node. 291 * We only need to initialize the current node.
diff --git a/arch/mips/sgi-ip27/ip27-xtalk.c b/arch/mips/sgi-ip27/ip27-xtalk.c
index fc82f34a32ce..6ae64e8dfc40 100644
--- a/arch/mips/sgi-ip27/ip27-xtalk.c
+++ b/arch/mips/sgi-ip27/ip27-xtalk.c
@@ -22,7 +22,7 @@
22 22
23extern int bridge_probe(nasid_t nasid, int widget, int masterwid); 23extern int bridge_probe(nasid_t nasid, int widget, int masterwid);
24 24
25static int __init probe_one_port(nasid_t nasid, int widget, int masterwid) 25static int __cpuinit probe_one_port(nasid_t nasid, int widget, int masterwid)
26{ 26{
27 widgetreg_t widget_id; 27 widgetreg_t widget_id;
28 xwidget_part_num_t partnum; 28 xwidget_part_num_t partnum;
@@ -46,7 +46,7 @@ static int __init probe_one_port(nasid_t nasid, int widget, int masterwid)
46 return 0; 46 return 0;
47} 47}
48 48
49static int __init xbow_probe(nasid_t nasid) 49static int __cpuinit xbow_probe(nasid_t nasid)
50{ 50{
51 lboard_t *brd; 51 lboard_t *brd;
52 klxbow_t *xbow_p; 52 klxbow_t *xbow_p;
@@ -99,7 +99,7 @@ static int __init xbow_probe(nasid_t nasid)
99 return 0; 99 return 0;
100} 100}
101 101
102void __init xtalk_probe_node(cnodeid_t nid) 102void __cpuinit xtalk_probe_node(cnodeid_t nid)
103{ 103{
104 volatile u64 hubreg; 104 volatile u64 hubreg;
105 nasid_t nasid; 105 nasid_t nasid;