diff options
72 files changed, 359 insertions, 625 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 30750c54bdf5..87cee341eb54 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
@@ -537,6 +537,7 @@ config QEMU | |||
537 | select SYS_HAS_CPU_MIPS32_R1 | 537 | select SYS_HAS_CPU_MIPS32_R1 |
538 | select SYS_SUPPORTS_32BIT_KERNEL | 538 | select SYS_SUPPORTS_32BIT_KERNEL |
539 | select SYS_SUPPORTS_BIG_ENDIAN | 539 | select SYS_SUPPORTS_BIG_ENDIAN |
540 | select SYS_SUPPORTS_LITTLE_ENDIAN | ||
540 | select ARCH_SPARSEMEM_ENABLE | 541 | select ARCH_SPARSEMEM_ENABLE |
541 | help | 542 | help |
542 | Qemu is a software emulator which among other architectures also | 543 | Qemu is a software emulator which among other architectures also |
@@ -1841,6 +1842,14 @@ config RWSEM_GENERIC_SPINLOCK | |||
1841 | bool | 1842 | bool |
1842 | default y | 1843 | default y |
1843 | 1844 | ||
1845 | config LOCKDEP_SUPPORT | ||
1846 | bool | ||
1847 | default y | ||
1848 | |||
1849 | config STACKTRACE_SUPPORT | ||
1850 | bool | ||
1851 | default y | ||
1852 | |||
1844 | source "init/Kconfig" | 1853 | source "init/Kconfig" |
1845 | 1854 | ||
1846 | menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" | 1855 | menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)" |
diff --git a/arch/mips/basler/excite/excite_flashtest.c b/arch/mips/basler/excite/excite_flashtest.c deleted file mode 100644 index f0024a8e3294..000000000000 --- a/arch/mips/basler/excite/excite_flashtest.c +++ /dev/null | |||
@@ -1,294 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2005 by Basler Vision Technologies AG | ||
3 | * Author: Thies Moeller <thies.moeller@baslerweb.com> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | ||
19 | |||
20 | #include <linux/module.h> | ||
21 | #include <linux/types.h> | ||
22 | #include <linux/init.h> | ||
23 | #include <linux/kernel.h> | ||
24 | #include <linux/string.h> | ||
25 | #include <linux/ioport.h> | ||
26 | #include <linux/device.h> | ||
27 | #include <linux/delay.h> | ||
28 | #include <linux/err.h> | ||
29 | #include <linux/kernel.h> | ||
30 | |||
31 | #include <excite.h> | ||
32 | |||
33 | #include <asm/io.h> | ||
34 | |||
35 | #include <linux/mtd/mtd.h> | ||
36 | #include <linux/mtd/nand.h> | ||
37 | #include <linux/mtd/nand_ecc.h> | ||
38 | #include <linux/mtd/partitions.h> | ||
39 | #include <asm/rm9k-ocd.h> // for ocd_write | ||
40 | #include <linux/workqueue.h> // for queue | ||
41 | |||
42 | #include "excite_nandflash.h" | ||
43 | #include "nandflash.h" | ||
44 | |||
45 | #define PFX "excite flashtest: " | ||
46 | typedef void __iomem *io_reg_t; | ||
47 | |||
48 | #define io_readb(__a__) __raw_readb((__a__)) | ||
49 | #define io_writeb(__v__, __a__) __raw_writeb((__v__), (__a__)) | ||
50 | |||
51 | |||
52 | |||
53 | static inline const struct resource *excite_nandflash_get_resource( | ||
54 | struct platform_device *d, unsigned long flags, const char *basename) | ||
55 | { | ||
56 | const char fmt[] = "%s_%u"; | ||
57 | char buf[80]; | ||
58 | |||
59 | if (unlikely(snprintf(buf, sizeof buf, fmt, basename, d->id) >= sizeof buf)) | ||
60 | return NULL; | ||
61 | |||
62 | return platform_get_resource_byname(d, flags, buf); | ||
63 | } | ||
64 | |||
65 | static inline io_reg_t | ||
66 | excite_nandflash_map_regs(struct platform_device *d, const char *basename) | ||
67 | { | ||
68 | void *result = NULL; | ||
69 | const struct resource *const r = | ||
70 | excite_nandflash_get_resource(d, IORESOURCE_MEM, basename); | ||
71 | if (r) | ||
72 | result = ioremap_nocache(r->start, r->end + 1 - r->start); | ||
73 | return result; | ||
74 | } | ||
75 | |||
76 | /* controller and mtd information */ | ||
77 | |||
78 | struct excite_nandflash_drvdata { | ||
79 | struct mtd_info board_mtd; | ||
80 | struct nand_chip board_chip; | ||
81 | io_reg_t regs; | ||
82 | }; | ||
83 | |||
84 | |||
85 | /* command and control functions */ | ||
86 | static void excite_nandflash_hwcontrol(struct mtd_info *mtd, int cmd) | ||
87 | { | ||
88 | struct nand_chip *this = mtd->priv; | ||
89 | io_reg_t regs = container_of(mtd,struct excite_nandflash_drvdata,board_mtd)->regs; | ||
90 | |||
91 | switch (cmd) { | ||
92 | /* Select the command latch */ | ||
93 | case NAND_CTL_SETCLE: this->IO_ADDR_W = regs + EXCITE_NANDFLASH_CMD; | ||
94 | break; | ||
95 | /* Deselect the command latch */ | ||
96 | case NAND_CTL_CLRCLE: this->IO_ADDR_W = regs + EXCITE_NANDFLASH_DATA; | ||
97 | break; | ||
98 | /* Select the address latch */ | ||
99 | case NAND_CTL_SETALE: this->IO_ADDR_W = regs + EXCITE_NANDFLASH_ADDR; | ||
100 | break; | ||
101 | /* Deselect the address latch */ | ||
102 | case NAND_CTL_CLRALE: this->IO_ADDR_W = regs + EXCITE_NANDFLASH_DATA; | ||
103 | break; | ||
104 | /* Select the chip -- not used */ | ||
105 | case NAND_CTL_SETNCE: | ||
106 | break; | ||
107 | /* Deselect the chip -- not used */ | ||
108 | case NAND_CTL_CLRNCE: | ||
109 | break; | ||
110 | } | ||
111 | |||
112 | this->IO_ADDR_R = this->IO_ADDR_W; | ||
113 | } | ||
114 | |||
115 | /* excite_nandflash_devready() | ||
116 | * | ||
117 | * returns 0 if the nand is busy, 1 if it is ready | ||
118 | */ | ||
119 | static int excite_nandflash_devready(struct mtd_info *mtd) | ||
120 | { | ||
121 | struct excite_nandflash_drvdata *drvdata = | ||
122 | container_of(mtd, struct excite_nandflash_drvdata, board_mtd); | ||
123 | |||
124 | return io_readb(drvdata->regs + EXCITE_NANDFLASH_STATUS); | ||
125 | } | ||
126 | |||
127 | /* device management functions */ | ||
128 | |||
129 | /* excite_nandflash_remove | ||
130 | * | ||
131 | * called by device layer to remove the driver | ||
132 | * the binding to the mtd and all allocated | ||
133 | * resources are released | ||
134 | */ | ||
135 | static int excite_nandflash_remove(struct device *dev) | ||
136 | { | ||
137 | struct excite_nandflash_drvdata *this = dev_get_drvdata(dev); | ||
138 | |||
139 | pr_info(PFX "remove"); | ||
140 | |||
141 | dev_set_drvdata(dev, NULL); | ||
142 | |||
143 | if (this == NULL) { | ||
144 | pr_debug(PFX "call remove without private data!!"); | ||
145 | return 0; | ||
146 | } | ||
147 | |||
148 | |||
149 | /* free the common resources */ | ||
150 | if (this->regs != NULL) { | ||
151 | iounmap(this->regs); | ||
152 | this->regs = NULL; | ||
153 | } | ||
154 | |||
155 | kfree(this); | ||
156 | |||
157 | return 0; | ||
158 | } | ||
159 | |||
160 | static int elapsed; | ||
161 | |||
162 | void my_workqueue_handler(void *arg) | ||
163 | { | ||
164 | elapsed = 1; | ||
165 | } | ||
166 | |||
167 | DECLARE_WORK(sigElapsed, my_workqueue_handler, 0); | ||
168 | |||
169 | |||
170 | /* excite_nandflash_probe | ||
171 | * | ||
172 | * called by device layer when it finds a device matching | ||
173 | * one our driver can handled. This code checks to see if | ||
174 | * it can allocate all necessary resources then calls the | ||
175 | * nand layer to look for devices | ||
176 | */ | ||
177 | static int excite_nandflash_probe(struct device *dev) | ||
178 | { | ||
179 | struct platform_device *pdev = to_platform_device(dev); | ||
180 | |||
181 | struct excite_nandflash_drvdata *drvdata; /* private driver data */ | ||
182 | struct nand_chip *board_chip; /* private flash chip data */ | ||
183 | struct mtd_info *board_mtd; /* mtd info for this board */ | ||
184 | |||
185 | int err = 0; | ||
186 | int count = 0; | ||
187 | struct timeval tv,endtv; | ||
188 | unsigned int dt; | ||
189 | |||
190 | pr_info(PFX "probe dev: (%p)\n", dev); | ||
191 | |||
192 | pr_info(PFX "adjust LB timing\n"); | ||
193 | ocd_writel(0x00000330, LDP2); | ||
194 | |||
195 | drvdata = kmalloc(sizeof(*drvdata), GFP_KERNEL); | ||
196 | if (unlikely(!drvdata)) { | ||
197 | printk(KERN_ERR PFX "no memory for drvdata\n"); | ||
198 | err = -ENOMEM; | ||
199 | goto mem_error; | ||
200 | } | ||
201 | |||
202 | /* Initialize structures */ | ||
203 | memset(drvdata, 0, sizeof(*drvdata)); | ||
204 | |||
205 | /* bind private data into driver */ | ||
206 | dev_set_drvdata(dev, drvdata); | ||
207 | |||
208 | /* allocate and map the resource */ | ||
209 | drvdata->regs = | ||
210 | excite_nandflash_map_regs(pdev, EXCITE_NANDFLASH_RESOURCE_REGS); | ||
211 | |||
212 | if (unlikely(!drvdata->regs)) { | ||
213 | printk(KERN_ERR PFX "cannot reserve register region\n"); | ||
214 | err = -ENXIO; | ||
215 | goto io_error; | ||
216 | } | ||
217 | |||
218 | /* initialise our chip */ | ||
219 | board_chip = &drvdata->board_chip; | ||
220 | |||
221 | board_chip->IO_ADDR_R = drvdata->regs + EXCITE_NANDFLASH_DATA; | ||
222 | board_chip->IO_ADDR_W = drvdata->regs + EXCITE_NANDFLASH_DATA; | ||
223 | |||
224 | board_chip->hwcontrol = excite_nandflash_hwcontrol; | ||
225 | board_chip->dev_ready = excite_nandflash_devready; | ||
226 | |||
227 | board_chip->chip_delay = 25; | ||
228 | #if 0 | ||
229 | /* TODO: speedup the initial scan */ | ||
230 | board_chip->options = NAND_USE_FLASH_BBT; | ||
231 | #endif | ||
232 | board_chip->eccmode = NAND_ECC_SOFT; | ||
233 | |||
234 | /* link chip to mtd */ | ||
235 | board_mtd = &drvdata->board_mtd; | ||
236 | board_mtd->priv = board_chip; | ||
237 | |||
238 | |||
239 | pr_info(PFX "FlashTest\n"); | ||
240 | elapsed = 0; | ||
241 | /* schedule_delayed_work(&sigElapsed, 1*HZ); | ||
242 | while (!elapsed) { | ||
243 | io_readb(drvdata->regs + EXCITE_NANDFLASH_STATUS); | ||
244 | count++; | ||
245 | } | ||
246 | pr_info(PFX "reads in 1 sec --> %d\n",count); | ||
247 | */ | ||
248 | do_gettimeofday(&tv); | ||
249 | for (count = 0 ; count < 1000000; count ++) { | ||
250 | io_readb(drvdata->regs + EXCITE_NANDFLASH_STATUS); | ||
251 | } | ||
252 | do_gettimeofday(&endtv); | ||
253 | dt = (endtv.tv_sec - tv.tv_sec) * 1000000 + endtv.tv_usec - tv.tv_usec; | ||
254 | pr_info(PFX "%8d us timeval\n",dt); | ||
255 | pr_info(PFX "EndFlashTest\n"); | ||
256 | |||
257 | /* return with error to unload everything | ||
258 | */ | ||
259 | io_error: | ||
260 | iounmap(drvdata->regs); | ||
261 | |||
262 | mem_error: | ||
263 | kfree(drvdata); | ||
264 | |||
265 | if (err == 0) | ||
266 | err = -EINVAL; | ||
267 | return err; | ||
268 | } | ||
269 | |||
270 | static struct device_driver excite_nandflash_driver = { | ||
271 | .name = "excite_nand", | ||
272 | .bus = &platform_bus_type, | ||
273 | .probe = excite_nandflash_probe, | ||
274 | .remove = excite_nandflash_remove, | ||
275 | }; | ||
276 | |||
277 | static int __init excite_nandflash_init(void) | ||
278 | { | ||
279 | pr_info(PFX "register Driver (Rev: $Revision:$)\n"); | ||
280 | return driver_register(&excite_nandflash_driver); | ||
281 | } | ||
282 | |||
283 | static void __exit excite_nandflash_exit(void) | ||
284 | { | ||
285 | driver_unregister(&excite_nandflash_driver); | ||
286 | pr_info(PFX "Driver unregistered"); | ||
287 | } | ||
288 | |||
289 | module_init(excite_nandflash_init); | ||
290 | module_exit(excite_nandflash_exit); | ||
291 | |||
292 | MODULE_AUTHOR("Thies Moeller <thies.moeller@baslerweb.com>"); | ||
293 | MODULE_DESCRIPTION("Basler eXcite NAND-Flash driver"); | ||
294 | MODULE_LICENSE("GPL"); | ||
diff --git a/arch/mips/configs/atlas_defconfig b/arch/mips/configs/atlas_defconfig index d3705284de39..35931bedc3df 100644 --- a/arch/mips/configs/atlas_defconfig +++ b/arch/mips/configs/atlas_defconfig | |||
@@ -161,6 +161,8 @@ CONFIG_HZ=100 | |||
161 | CONFIG_PREEMPT_NONE=y | 161 | CONFIG_PREEMPT_NONE=y |
162 | # CONFIG_PREEMPT_VOLUNTARY is not set | 162 | # CONFIG_PREEMPT_VOLUNTARY is not set |
163 | # CONFIG_PREEMPT is not set | 163 | # CONFIG_PREEMPT is not set |
164 | CONFIG_LOCKDEP_SUPPORT=y | ||
165 | CONFIG_STACKTRACE_SUPPORT=y | ||
164 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 166 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
165 | 167 | ||
166 | # | 168 | # |
@@ -1304,6 +1306,7 @@ CONFIG_NLS_UTF8=m | |||
1304 | # | 1306 | # |
1305 | # Kernel hacking | 1307 | # Kernel hacking |
1306 | # | 1308 | # |
1309 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1307 | # CONFIG_PRINTK_TIME is not set | 1310 | # CONFIG_PRINTK_TIME is not set |
1308 | # CONFIG_MAGIC_SYSRQ is not set | 1311 | # CONFIG_MAGIC_SYSRQ is not set |
1309 | # CONFIG_UNUSED_SYMBOLS is not set | 1312 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/bigsur_defconfig b/arch/mips/configs/bigsur_defconfig index e12a475dcbf4..c6a015940b41 100644 --- a/arch/mips/configs/bigsur_defconfig +++ b/arch/mips/configs/bigsur_defconfig | |||
@@ -167,6 +167,8 @@ CONFIG_PREEMPT_NONE=y | |||
167 | # CONFIG_PREEMPT_VOLUNTARY is not set | 167 | # CONFIG_PREEMPT_VOLUNTARY is not set |
168 | # CONFIG_PREEMPT is not set | 168 | # CONFIG_PREEMPT is not set |
169 | # CONFIG_PREEMPT_BKL is not set | 169 | # CONFIG_PREEMPT_BKL is not set |
170 | CONFIG_LOCKDEP_SUPPORT=y | ||
171 | CONFIG_STACKTRACE_SUPPORT=y | ||
170 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 172 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
171 | 173 | ||
172 | # | 174 | # |
@@ -904,6 +906,7 @@ CONFIG_MSDOS_PARTITION=y | |||
904 | # | 906 | # |
905 | # Kernel hacking | 907 | # Kernel hacking |
906 | # | 908 | # |
909 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
907 | CONFIG_PRINTK_TIME=y | 910 | CONFIG_PRINTK_TIME=y |
908 | CONFIG_MAGIC_SYSRQ=y | 911 | CONFIG_MAGIC_SYSRQ=y |
909 | # CONFIG_UNUSED_SYMBOLS is not set | 912 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/capcella_defconfig b/arch/mips/configs/capcella_defconfig index bfade9abb767..e5358121d2da 100644 --- a/arch/mips/configs/capcella_defconfig +++ b/arch/mips/configs/capcella_defconfig | |||
@@ -149,6 +149,8 @@ CONFIG_HZ=1000 | |||
149 | CONFIG_PREEMPT_NONE=y | 149 | CONFIG_PREEMPT_NONE=y |
150 | # CONFIG_PREEMPT_VOLUNTARY is not set | 150 | # CONFIG_PREEMPT_VOLUNTARY is not set |
151 | # CONFIG_PREEMPT is not set | 151 | # CONFIG_PREEMPT is not set |
152 | CONFIG_LOCKDEP_SUPPORT=y | ||
153 | CONFIG_STACKTRACE_SUPPORT=y | ||
152 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 154 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
153 | 155 | ||
154 | # | 156 | # |
@@ -891,6 +893,7 @@ CONFIG_MSDOS_PARTITION=y | |||
891 | # | 893 | # |
892 | # Kernel hacking | 894 | # Kernel hacking |
893 | # | 895 | # |
896 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
894 | # CONFIG_PRINTK_TIME is not set | 897 | # CONFIG_PRINTK_TIME is not set |
895 | # CONFIG_MAGIC_SYSRQ is not set | 898 | # CONFIG_MAGIC_SYSRQ is not set |
896 | # CONFIG_UNUSED_SYMBOLS is not set | 899 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/cobalt_defconfig b/arch/mips/configs/cobalt_defconfig index 4baf2ff1128a..adf1e8c98c65 100644 --- a/arch/mips/configs/cobalt_defconfig +++ b/arch/mips/configs/cobalt_defconfig | |||
@@ -146,6 +146,8 @@ CONFIG_HZ=1000 | |||
146 | CONFIG_PREEMPT_NONE=y | 146 | CONFIG_PREEMPT_NONE=y |
147 | # CONFIG_PREEMPT_VOLUNTARY is not set | 147 | # CONFIG_PREEMPT_VOLUNTARY is not set |
148 | # CONFIG_PREEMPT is not set | 148 | # CONFIG_PREEMPT is not set |
149 | CONFIG_LOCKDEP_SUPPORT=y | ||
150 | CONFIG_STACKTRACE_SUPPORT=y | ||
149 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 151 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
150 | 152 | ||
151 | # | 153 | # |
@@ -889,6 +891,7 @@ CONFIG_MSDOS_PARTITION=y | |||
889 | # | 891 | # |
890 | # Kernel hacking | 892 | # Kernel hacking |
891 | # | 893 | # |
894 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
892 | # CONFIG_PRINTK_TIME is not set | 895 | # CONFIG_PRINTK_TIME is not set |
893 | # CONFIG_MAGIC_SYSRQ is not set | 896 | # CONFIG_MAGIC_SYSRQ is not set |
894 | # CONFIG_UNUSED_SYMBOLS is not set | 897 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/db1000_defconfig b/arch/mips/configs/db1000_defconfig index 93cca1585bc3..4fd29ffdfb8d 100644 --- a/arch/mips/configs/db1000_defconfig +++ b/arch/mips/configs/db1000_defconfig | |||
@@ -147,6 +147,8 @@ CONFIG_HZ=1000 | |||
147 | CONFIG_PREEMPT_NONE=y | 147 | CONFIG_PREEMPT_NONE=y |
148 | # CONFIG_PREEMPT_VOLUNTARY is not set | 148 | # CONFIG_PREEMPT_VOLUNTARY is not set |
149 | # CONFIG_PREEMPT is not set | 149 | # CONFIG_PREEMPT is not set |
150 | CONFIG_LOCKDEP_SUPPORT=y | ||
151 | CONFIG_STACKTRACE_SUPPORT=y | ||
150 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 152 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
151 | 153 | ||
152 | # | 154 | # |
@@ -1006,6 +1008,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1006 | # | 1008 | # |
1007 | # Kernel hacking | 1009 | # Kernel hacking |
1008 | # | 1010 | # |
1011 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1009 | # CONFIG_PRINTK_TIME is not set | 1012 | # CONFIG_PRINTK_TIME is not set |
1010 | # CONFIG_MAGIC_SYSRQ is not set | 1013 | # CONFIG_MAGIC_SYSRQ is not set |
1011 | # CONFIG_UNUSED_SYMBOLS is not set | 1014 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/db1100_defconfig b/arch/mips/configs/db1100_defconfig index ffd99252a837..025b960ba990 100644 --- a/arch/mips/configs/db1100_defconfig +++ b/arch/mips/configs/db1100_defconfig | |||
@@ -147,6 +147,8 @@ CONFIG_HZ=1000 | |||
147 | CONFIG_PREEMPT_NONE=y | 147 | CONFIG_PREEMPT_NONE=y |
148 | # CONFIG_PREEMPT_VOLUNTARY is not set | 148 | # CONFIG_PREEMPT_VOLUNTARY is not set |
149 | # CONFIG_PREEMPT is not set | 149 | # CONFIG_PREEMPT is not set |
150 | CONFIG_LOCKDEP_SUPPORT=y | ||
151 | CONFIG_STACKTRACE_SUPPORT=y | ||
150 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 152 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
151 | 153 | ||
152 | # | 154 | # |
@@ -1006,6 +1008,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1006 | # | 1008 | # |
1007 | # Kernel hacking | 1009 | # Kernel hacking |
1008 | # | 1010 | # |
1011 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1009 | # CONFIG_PRINTK_TIME is not set | 1012 | # CONFIG_PRINTK_TIME is not set |
1010 | # CONFIG_MAGIC_SYSRQ is not set | 1013 | # CONFIG_MAGIC_SYSRQ is not set |
1011 | # CONFIG_UNUSED_SYMBOLS is not set | 1014 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/db1200_defconfig b/arch/mips/configs/db1200_defconfig index 63eac5e89b9c..80c9dd98f897 100644 --- a/arch/mips/configs/db1200_defconfig +++ b/arch/mips/configs/db1200_defconfig | |||
@@ -147,6 +147,8 @@ CONFIG_HZ=1000 | |||
147 | CONFIG_PREEMPT_NONE=y | 147 | CONFIG_PREEMPT_NONE=y |
148 | # CONFIG_PREEMPT_VOLUNTARY is not set | 148 | # CONFIG_PREEMPT_VOLUNTARY is not set |
149 | # CONFIG_PREEMPT is not set | 149 | # CONFIG_PREEMPT is not set |
150 | CONFIG_LOCKDEP_SUPPORT=y | ||
151 | CONFIG_STACKTRACE_SUPPORT=y | ||
150 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 152 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
151 | 153 | ||
152 | # | 154 | # |
@@ -1087,6 +1089,7 @@ CONFIG_NLS_UTF8=m | |||
1087 | # | 1089 | # |
1088 | # Kernel hacking | 1090 | # Kernel hacking |
1089 | # | 1091 | # |
1092 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1090 | # CONFIG_PRINTK_TIME is not set | 1093 | # CONFIG_PRINTK_TIME is not set |
1091 | # CONFIG_MAGIC_SYSRQ is not set | 1094 | # CONFIG_MAGIC_SYSRQ is not set |
1092 | # CONFIG_UNUSED_SYMBOLS is not set | 1095 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/db1500_defconfig b/arch/mips/configs/db1500_defconfig index 25a095f7dc4e..6caa90b0e176 100644 --- a/arch/mips/configs/db1500_defconfig +++ b/arch/mips/configs/db1500_defconfig | |||
@@ -149,6 +149,8 @@ CONFIG_HZ=1000 | |||
149 | CONFIG_PREEMPT_NONE=y | 149 | CONFIG_PREEMPT_NONE=y |
150 | # CONFIG_PREEMPT_VOLUNTARY is not set | 150 | # CONFIG_PREEMPT_VOLUNTARY is not set |
151 | # CONFIG_PREEMPT is not set | 151 | # CONFIG_PREEMPT is not set |
152 | CONFIG_LOCKDEP_SUPPORT=y | ||
153 | CONFIG_STACKTRACE_SUPPORT=y | ||
152 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 154 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
153 | 155 | ||
154 | # | 156 | # |
@@ -1290,6 +1292,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1290 | # | 1292 | # |
1291 | # Kernel hacking | 1293 | # Kernel hacking |
1292 | # | 1294 | # |
1295 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1293 | # CONFIG_PRINTK_TIME is not set | 1296 | # CONFIG_PRINTK_TIME is not set |
1294 | # CONFIG_MAGIC_SYSRQ is not set | 1297 | # CONFIG_MAGIC_SYSRQ is not set |
1295 | # CONFIG_UNUSED_SYMBOLS is not set | 1298 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/db1550_defconfig b/arch/mips/configs/db1550_defconfig index dda469c842b3..c6cae86c6ab7 100644 --- a/arch/mips/configs/db1550_defconfig +++ b/arch/mips/configs/db1550_defconfig | |||
@@ -148,6 +148,8 @@ CONFIG_HZ=1000 | |||
148 | CONFIG_PREEMPT_NONE=y | 148 | CONFIG_PREEMPT_NONE=y |
149 | # CONFIG_PREEMPT_VOLUNTARY is not set | 149 | # CONFIG_PREEMPT_VOLUNTARY is not set |
150 | # CONFIG_PREEMPT is not set | 150 | # CONFIG_PREEMPT is not set |
151 | CONFIG_LOCKDEP_SUPPORT=y | ||
152 | CONFIG_STACKTRACE_SUPPORT=y | ||
151 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 153 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
152 | 154 | ||
153 | # | 155 | # |
@@ -1111,6 +1113,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1111 | # | 1113 | # |
1112 | # Kernel hacking | 1114 | # Kernel hacking |
1113 | # | 1115 | # |
1116 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1114 | # CONFIG_PRINTK_TIME is not set | 1117 | # CONFIG_PRINTK_TIME is not set |
1115 | # CONFIG_MAGIC_SYSRQ is not set | 1118 | # CONFIG_MAGIC_SYSRQ is not set |
1116 | # CONFIG_UNUSED_SYMBOLS is not set | 1119 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/ddb5477_defconfig b/arch/mips/configs/ddb5477_defconfig index fcd3dd19bc74..72f24001c99e 100644 --- a/arch/mips/configs/ddb5477_defconfig +++ b/arch/mips/configs/ddb5477_defconfig | |||
@@ -146,6 +146,8 @@ CONFIG_HZ=1000 | |||
146 | CONFIG_PREEMPT_NONE=y | 146 | CONFIG_PREEMPT_NONE=y |
147 | # CONFIG_PREEMPT_VOLUNTARY is not set | 147 | # CONFIG_PREEMPT_VOLUNTARY is not set |
148 | # CONFIG_PREEMPT is not set | 148 | # CONFIG_PREEMPT is not set |
149 | CONFIG_LOCKDEP_SUPPORT=y | ||
150 | CONFIG_STACKTRACE_SUPPORT=y | ||
149 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 151 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
150 | 152 | ||
151 | # | 153 | # |
@@ -852,6 +854,7 @@ CONFIG_MSDOS_PARTITION=y | |||
852 | # | 854 | # |
853 | # Kernel hacking | 855 | # Kernel hacking |
854 | # | 856 | # |
857 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
855 | # CONFIG_PRINTK_TIME is not set | 858 | # CONFIG_PRINTK_TIME is not set |
856 | # CONFIG_MAGIC_SYSRQ is not set | 859 | # CONFIG_MAGIC_SYSRQ is not set |
857 | # CONFIG_UNUSED_SYMBOLS is not set | 860 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/decstation_defconfig b/arch/mips/configs/decstation_defconfig index 8683e0df12e0..be901df7fefa 100644 --- a/arch/mips/configs/decstation_defconfig +++ b/arch/mips/configs/decstation_defconfig | |||
@@ -147,6 +147,8 @@ CONFIG_HZ=128 | |||
147 | CONFIG_PREEMPT_NONE=y | 147 | CONFIG_PREEMPT_NONE=y |
148 | # CONFIG_PREEMPT_VOLUNTARY is not set | 148 | # CONFIG_PREEMPT_VOLUNTARY is not set |
149 | # CONFIG_PREEMPT is not set | 149 | # CONFIG_PREEMPT is not set |
150 | CONFIG_LOCKDEP_SUPPORT=y | ||
151 | CONFIG_STACKTRACE_SUPPORT=y | ||
150 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 152 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
151 | 153 | ||
152 | # | 154 | # |
@@ -828,6 +830,7 @@ CONFIG_ULTRIX_PARTITION=y | |||
828 | # | 830 | # |
829 | # Kernel hacking | 831 | # Kernel hacking |
830 | # | 832 | # |
833 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
831 | # CONFIG_PRINTK_TIME is not set | 834 | # CONFIG_PRINTK_TIME is not set |
832 | CONFIG_MAGIC_SYSRQ=y | 835 | CONFIG_MAGIC_SYSRQ=y |
833 | # CONFIG_UNUSED_SYMBOLS is not set | 836 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/e55_defconfig b/arch/mips/configs/e55_defconfig index 4ace61c95778..6133c28beb8c 100644 --- a/arch/mips/configs/e55_defconfig +++ b/arch/mips/configs/e55_defconfig | |||
@@ -147,6 +147,8 @@ CONFIG_HZ=1000 | |||
147 | CONFIG_PREEMPT_NONE=y | 147 | CONFIG_PREEMPT_NONE=y |
148 | # CONFIG_PREEMPT_VOLUNTARY is not set | 148 | # CONFIG_PREEMPT_VOLUNTARY is not set |
149 | # CONFIG_PREEMPT is not set | 149 | # CONFIG_PREEMPT is not set |
150 | CONFIG_LOCKDEP_SUPPORT=y | ||
151 | CONFIG_STACKTRACE_SUPPORT=y | ||
150 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 152 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
151 | 153 | ||
152 | # | 154 | # |
diff --git a/arch/mips/configs/emma2rh_defconfig b/arch/mips/configs/emma2rh_defconfig index 5847c916c130..a484b7d396fc 100644 --- a/arch/mips/configs/emma2rh_defconfig +++ b/arch/mips/configs/emma2rh_defconfig | |||
@@ -147,6 +147,8 @@ CONFIG_HZ=1000 | |||
147 | # CONFIG_PREEMPT_VOLUNTARY is not set | 147 | # CONFIG_PREEMPT_VOLUNTARY is not set |
148 | CONFIG_PREEMPT=y | 148 | CONFIG_PREEMPT=y |
149 | CONFIG_PREEMPT_BKL=y | 149 | CONFIG_PREEMPT_BKL=y |
150 | CONFIG_LOCKDEP_SUPPORT=y | ||
151 | CONFIG_STACKTRACE_SUPPORT=y | ||
150 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 152 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
151 | 153 | ||
152 | # | 154 | # |
@@ -1180,6 +1182,7 @@ CONFIG_NLS_UTF8=m | |||
1180 | # | 1182 | # |
1181 | # Kernel hacking | 1183 | # Kernel hacking |
1182 | # | 1184 | # |
1185 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1183 | # CONFIG_PRINTK_TIME is not set | 1186 | # CONFIG_PRINTK_TIME is not set |
1184 | # CONFIG_MAGIC_SYSRQ is not set | 1187 | # CONFIG_MAGIC_SYSRQ is not set |
1185 | # CONFIG_UNUSED_SYMBOLS is not set | 1188 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/ev64120_defconfig b/arch/mips/configs/ev64120_defconfig index bc4c4f125c48..21bfcdebf8f5 100644 --- a/arch/mips/configs/ev64120_defconfig +++ b/arch/mips/configs/ev64120_defconfig | |||
@@ -148,6 +148,8 @@ CONFIG_HZ=1000 | |||
148 | CONFIG_PREEMPT_NONE=y | 148 | CONFIG_PREEMPT_NONE=y |
149 | # CONFIG_PREEMPT_VOLUNTARY is not set | 149 | # CONFIG_PREEMPT_VOLUNTARY is not set |
150 | # CONFIG_PREEMPT is not set | 150 | # CONFIG_PREEMPT is not set |
151 | CONFIG_LOCKDEP_SUPPORT=y | ||
152 | CONFIG_STACKTRACE_SUPPORT=y | ||
151 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 153 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
152 | 154 | ||
153 | # | 155 | # |
@@ -842,6 +844,7 @@ CONFIG_MSDOS_PARTITION=y | |||
842 | # | 844 | # |
843 | # Kernel hacking | 845 | # Kernel hacking |
844 | # | 846 | # |
847 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
845 | # CONFIG_PRINTK_TIME is not set | 848 | # CONFIG_PRINTK_TIME is not set |
846 | # CONFIG_MAGIC_SYSRQ is not set | 849 | # CONFIG_MAGIC_SYSRQ is not set |
847 | # CONFIG_UNUSED_SYMBOLS is not set | 850 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/excite_defconfig b/arch/mips/configs/excite_defconfig index eb87cbbfd037..1a5b06cfb4d6 100644 --- a/arch/mips/configs/excite_defconfig +++ b/arch/mips/configs/excite_defconfig | |||
@@ -149,6 +149,8 @@ CONFIG_HZ=1000 | |||
149 | # CONFIG_PREEMPT_VOLUNTARY is not set | 149 | # CONFIG_PREEMPT_VOLUNTARY is not set |
150 | CONFIG_PREEMPT=y | 150 | CONFIG_PREEMPT=y |
151 | CONFIG_PREEMPT_BKL=y | 151 | CONFIG_PREEMPT_BKL=y |
152 | CONFIG_LOCKDEP_SUPPORT=y | ||
153 | CONFIG_STACKTRACE_SUPPORT=y | ||
152 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 154 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
153 | 155 | ||
154 | # | 156 | # |
@@ -1184,6 +1186,7 @@ CONFIG_NLS_ISO8859_1=m | |||
1184 | # | 1186 | # |
1185 | # Kernel hacking | 1187 | # Kernel hacking |
1186 | # | 1188 | # |
1189 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1187 | # CONFIG_PRINTK_TIME is not set | 1190 | # CONFIG_PRINTK_TIME is not set |
1188 | # CONFIG_MAGIC_SYSRQ is not set | 1191 | # CONFIG_MAGIC_SYSRQ is not set |
1189 | # CONFIG_UNUSED_SYMBOLS is not set | 1192 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/ip22_defconfig b/arch/mips/configs/ip22_defconfig index cc9b24eda9e8..21d53e0c9ee8 100644 --- a/arch/mips/configs/ip22_defconfig +++ b/arch/mips/configs/ip22_defconfig | |||
@@ -153,6 +153,8 @@ CONFIG_HZ=1000 | |||
153 | # CONFIG_PREEMPT_NONE is not set | 153 | # CONFIG_PREEMPT_NONE is not set |
154 | CONFIG_PREEMPT_VOLUNTARY=y | 154 | CONFIG_PREEMPT_VOLUNTARY=y |
155 | # CONFIG_PREEMPT is not set | 155 | # CONFIG_PREEMPT is not set |
156 | CONFIG_LOCKDEP_SUPPORT=y | ||
157 | CONFIG_STACKTRACE_SUPPORT=y | ||
156 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 158 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
157 | 159 | ||
158 | # | 160 | # |
@@ -1147,6 +1149,7 @@ CONFIG_NLS_UTF8=m | |||
1147 | # | 1149 | # |
1148 | # Kernel hacking | 1150 | # Kernel hacking |
1149 | # | 1151 | # |
1152 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1150 | # CONFIG_PRINTK_TIME is not set | 1153 | # CONFIG_PRINTK_TIME is not set |
1151 | # CONFIG_MAGIC_SYSRQ is not set | 1154 | # CONFIG_MAGIC_SYSRQ is not set |
1152 | # CONFIG_UNUSED_SYMBOLS is not set | 1155 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/ip27_defconfig b/arch/mips/configs/ip27_defconfig index 50092ba8aa71..e3e94c7e5ee1 100644 --- a/arch/mips/configs/ip27_defconfig +++ b/arch/mips/configs/ip27_defconfig | |||
@@ -162,6 +162,8 @@ CONFIG_PREEMPT_NONE=y | |||
162 | # CONFIG_PREEMPT is not set | 162 | # CONFIG_PREEMPT is not set |
163 | CONFIG_PREEMPT_BKL=y | 163 | CONFIG_PREEMPT_BKL=y |
164 | # CONFIG_MIPS_INSANE_LARGE is not set | 164 | # CONFIG_MIPS_INSANE_LARGE is not set |
165 | CONFIG_LOCKDEP_SUPPORT=y | ||
166 | CONFIG_STACKTRACE_SUPPORT=y | ||
165 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 167 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
166 | 168 | ||
167 | # | 169 | # |
@@ -980,6 +982,7 @@ CONFIG_SGI_PARTITION=y | |||
980 | # | 982 | # |
981 | # Kernel hacking | 983 | # Kernel hacking |
982 | # | 984 | # |
985 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
983 | # CONFIG_PRINTK_TIME is not set | 986 | # CONFIG_PRINTK_TIME is not set |
984 | # CONFIG_MAGIC_SYSRQ is not set | 987 | # CONFIG_MAGIC_SYSRQ is not set |
985 | # CONFIG_UNUSED_SYMBOLS is not set | 988 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/ip32_defconfig b/arch/mips/configs/ip32_defconfig index dec2ba6ba03f..b4ab2bea9723 100644 --- a/arch/mips/configs/ip32_defconfig +++ b/arch/mips/configs/ip32_defconfig | |||
@@ -153,6 +153,8 @@ CONFIG_HZ=1000 | |||
153 | # CONFIG_PREEMPT_NONE is not set | 153 | # CONFIG_PREEMPT_NONE is not set |
154 | CONFIG_PREEMPT_VOLUNTARY=y | 154 | CONFIG_PREEMPT_VOLUNTARY=y |
155 | # CONFIG_PREEMPT is not set | 155 | # CONFIG_PREEMPT is not set |
156 | CONFIG_LOCKDEP_SUPPORT=y | ||
157 | CONFIG_STACKTRACE_SUPPORT=y | ||
156 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 158 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
157 | 159 | ||
158 | # | 160 | # |
@@ -922,6 +924,7 @@ CONFIG_SGI_PARTITION=y | |||
922 | # | 924 | # |
923 | # Kernel hacking | 925 | # Kernel hacking |
924 | # | 926 | # |
927 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
925 | # CONFIG_PRINTK_TIME is not set | 928 | # CONFIG_PRINTK_TIME is not set |
926 | # CONFIG_MAGIC_SYSRQ is not set | 929 | # CONFIG_MAGIC_SYSRQ is not set |
927 | # CONFIG_UNUSED_SYMBOLS is not set | 930 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/it8172_defconfig b/arch/mips/configs/it8172_defconfig index 37f9dd7187b1..18d20fb7d5f0 100644 --- a/arch/mips/configs/it8172_defconfig +++ b/arch/mips/configs/it8172_defconfig | |||
@@ -147,6 +147,8 @@ CONFIG_HZ=1000 | |||
147 | CONFIG_PREEMPT_NONE=y | 147 | CONFIG_PREEMPT_NONE=y |
148 | # CONFIG_PREEMPT_VOLUNTARY is not set | 148 | # CONFIG_PREEMPT_VOLUNTARY is not set |
149 | # CONFIG_PREEMPT is not set | 149 | # CONFIG_PREEMPT is not set |
150 | CONFIG_LOCKDEP_SUPPORT=y | ||
151 | CONFIG_STACKTRACE_SUPPORT=y | ||
150 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 152 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
151 | 153 | ||
152 | # | 154 | # |
@@ -900,6 +902,7 @@ CONFIG_MSDOS_PARTITION=y | |||
900 | # | 902 | # |
901 | # Kernel hacking | 903 | # Kernel hacking |
902 | # | 904 | # |
905 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
903 | # CONFIG_PRINTK_TIME is not set | 906 | # CONFIG_PRINTK_TIME is not set |
904 | # CONFIG_MAGIC_SYSRQ is not set | 907 | # CONFIG_MAGIC_SYSRQ is not set |
905 | # CONFIG_UNUSED_SYMBOLS is not set | 908 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/ivr_defconfig b/arch/mips/configs/ivr_defconfig index 18874a4c24fe..99831d0bf76b 100644 --- a/arch/mips/configs/ivr_defconfig +++ b/arch/mips/configs/ivr_defconfig | |||
@@ -144,6 +144,8 @@ CONFIG_HZ=1000 | |||
144 | CONFIG_PREEMPT_NONE=y | 144 | CONFIG_PREEMPT_NONE=y |
145 | # CONFIG_PREEMPT_VOLUNTARY is not set | 145 | # CONFIG_PREEMPT_VOLUNTARY is not set |
146 | # CONFIG_PREEMPT is not set | 146 | # CONFIG_PREEMPT is not set |
147 | CONFIG_LOCKDEP_SUPPORT=y | ||
148 | CONFIG_STACKTRACE_SUPPORT=y | ||
147 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 149 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
148 | 150 | ||
149 | # | 151 | # |
@@ -856,6 +858,7 @@ CONFIG_MSDOS_PARTITION=y | |||
856 | # | 858 | # |
857 | # Kernel hacking | 859 | # Kernel hacking |
858 | # | 860 | # |
861 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
859 | # CONFIG_PRINTK_TIME is not set | 862 | # CONFIG_PRINTK_TIME is not set |
860 | # CONFIG_MAGIC_SYSRQ is not set | 863 | # CONFIG_MAGIC_SYSRQ is not set |
861 | # CONFIG_UNUSED_SYMBOLS is not set | 864 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/jaguar-atx_defconfig b/arch/mips/configs/jaguar-atx_defconfig index 9f1e3048d623..9d4d17ace123 100644 --- a/arch/mips/configs/jaguar-atx_defconfig +++ b/arch/mips/configs/jaguar-atx_defconfig | |||
@@ -153,6 +153,8 @@ CONFIG_HZ=1000 | |||
153 | CONFIG_PREEMPT_NONE=y | 153 | CONFIG_PREEMPT_NONE=y |
154 | # CONFIG_PREEMPT_VOLUNTARY is not set | 154 | # CONFIG_PREEMPT_VOLUNTARY is not set |
155 | # CONFIG_PREEMPT is not set | 155 | # CONFIG_PREEMPT is not set |
156 | CONFIG_LOCKDEP_SUPPORT=y | ||
157 | CONFIG_STACKTRACE_SUPPORT=y | ||
156 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 158 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
157 | 159 | ||
158 | # | 160 | # |
@@ -775,6 +777,7 @@ CONFIG_MSDOS_PARTITION=y | |||
775 | # | 777 | # |
776 | # Kernel hacking | 778 | # Kernel hacking |
777 | # | 779 | # |
780 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
778 | # CONFIG_PRINTK_TIME is not set | 781 | # CONFIG_PRINTK_TIME is not set |
779 | # CONFIG_MAGIC_SYSRQ is not set | 782 | # CONFIG_MAGIC_SYSRQ is not set |
780 | # CONFIG_UNUSED_SYMBOLS is not set | 783 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/jmr3927_defconfig b/arch/mips/configs/jmr3927_defconfig index fded3f73815f..d03746667a96 100644 --- a/arch/mips/configs/jmr3927_defconfig +++ b/arch/mips/configs/jmr3927_defconfig | |||
@@ -143,6 +143,8 @@ CONFIG_PREEMPT_NONE=y | |||
143 | # CONFIG_PREEMPT_VOLUNTARY is not set | 143 | # CONFIG_PREEMPT_VOLUNTARY is not set |
144 | # CONFIG_PREEMPT is not set | 144 | # CONFIG_PREEMPT is not set |
145 | CONFIG_RTC_DS1742=y | 145 | CONFIG_RTC_DS1742=y |
146 | CONFIG_LOCKDEP_SUPPORT=y | ||
147 | CONFIG_STACKTRACE_SUPPORT=y | ||
146 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 148 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
147 | 149 | ||
148 | # | 150 | # |
@@ -872,6 +874,7 @@ CONFIG_MSDOS_PARTITION=y | |||
872 | # | 874 | # |
873 | # Kernel hacking | 875 | # Kernel hacking |
874 | # | 876 | # |
877 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
875 | # CONFIG_PRINTK_TIME is not set | 878 | # CONFIG_PRINTK_TIME is not set |
876 | # CONFIG_MAGIC_SYSRQ is not set | 879 | # CONFIG_MAGIC_SYSRQ is not set |
877 | # CONFIG_UNUSED_SYMBOLS is not set | 880 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/lasat200_defconfig b/arch/mips/configs/lasat200_defconfig index 320b8cdd6e58..1db8249b4c0f 100644 --- a/arch/mips/configs/lasat200_defconfig +++ b/arch/mips/configs/lasat200_defconfig | |||
@@ -151,6 +151,8 @@ CONFIG_HZ=1000 | |||
151 | CONFIG_PREEMPT_NONE=y | 151 | CONFIG_PREEMPT_NONE=y |
152 | # CONFIG_PREEMPT_VOLUNTARY is not set | 152 | # CONFIG_PREEMPT_VOLUNTARY is not set |
153 | # CONFIG_PREEMPT is not set | 153 | # CONFIG_PREEMPT is not set |
154 | CONFIG_LOCKDEP_SUPPORT=y | ||
155 | CONFIG_STACKTRACE_SUPPORT=y | ||
154 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 156 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
155 | 157 | ||
156 | # | 158 | # |
@@ -970,6 +972,7 @@ CONFIG_MSDOS_PARTITION=y | |||
970 | # | 972 | # |
971 | # Kernel hacking | 973 | # Kernel hacking |
972 | # | 974 | # |
975 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
973 | # CONFIG_PRINTK_TIME is not set | 976 | # CONFIG_PRINTK_TIME is not set |
974 | # CONFIG_MAGIC_SYSRQ is not set | 977 | # CONFIG_MAGIC_SYSRQ is not set |
975 | # CONFIG_UNUSED_SYMBOLS is not set | 978 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/malta_defconfig b/arch/mips/configs/malta_defconfig index 0ba1ef5048fb..aeefe2873e38 100644 --- a/arch/mips/configs/malta_defconfig +++ b/arch/mips/configs/malta_defconfig | |||
@@ -170,6 +170,8 @@ CONFIG_HZ=100 | |||
170 | CONFIG_PREEMPT_NONE=y | 170 | CONFIG_PREEMPT_NONE=y |
171 | # CONFIG_PREEMPT_VOLUNTARY is not set | 171 | # CONFIG_PREEMPT_VOLUNTARY is not set |
172 | # CONFIG_PREEMPT is not set | 172 | # CONFIG_PREEMPT is not set |
173 | CONFIG_LOCKDEP_SUPPORT=y | ||
174 | CONFIG_STACKTRACE_SUPPORT=y | ||
173 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 175 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
174 | 176 | ||
175 | # | 177 | # |
@@ -1341,6 +1343,7 @@ CONFIG_NLS_UTF8=m | |||
1341 | # | 1343 | # |
1342 | # Kernel hacking | 1344 | # Kernel hacking |
1343 | # | 1345 | # |
1346 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1344 | # CONFIG_PRINTK_TIME is not set | 1347 | # CONFIG_PRINTK_TIME is not set |
1345 | # CONFIG_MAGIC_SYSRQ is not set | 1348 | # CONFIG_MAGIC_SYSRQ is not set |
1346 | # CONFIG_UNUSED_SYMBOLS is not set | 1349 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/mipssim_defconfig b/arch/mips/configs/mipssim_defconfig index adbeeadddb8f..a3cbd23bf217 100644 --- a/arch/mips/configs/mipssim_defconfig +++ b/arch/mips/configs/mipssim_defconfig | |||
@@ -148,6 +148,8 @@ CONFIG_HZ=1000 | |||
148 | CONFIG_PREEMPT_NONE=y | 148 | CONFIG_PREEMPT_NONE=y |
149 | # CONFIG_PREEMPT_VOLUNTARY is not set | 149 | # CONFIG_PREEMPT_VOLUNTARY is not set |
150 | # CONFIG_PREEMPT is not set | 150 | # CONFIG_PREEMPT is not set |
151 | CONFIG_LOCKDEP_SUPPORT=y | ||
152 | CONFIG_STACKTRACE_SUPPORT=y | ||
151 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 153 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
152 | 154 | ||
153 | # | 155 | # |
@@ -799,6 +801,7 @@ CONFIG_MSDOS_PARTITION=y | |||
799 | # | 801 | # |
800 | # Kernel hacking | 802 | # Kernel hacking |
801 | # | 803 | # |
804 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
802 | # CONFIG_PRINTK_TIME is not set | 805 | # CONFIG_PRINTK_TIME is not set |
803 | # CONFIG_MAGIC_SYSRQ is not set | 806 | # CONFIG_MAGIC_SYSRQ is not set |
804 | # CONFIG_UNUSED_SYMBOLS is not set | 807 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/mpc30x_defconfig b/arch/mips/configs/mpc30x_defconfig index 79fd544fcb2a..6570b47426ce 100644 --- a/arch/mips/configs/mpc30x_defconfig +++ b/arch/mips/configs/mpc30x_defconfig | |||
@@ -148,6 +148,8 @@ CONFIG_HZ=1000 | |||
148 | CONFIG_PREEMPT_NONE=y | 148 | CONFIG_PREEMPT_NONE=y |
149 | # CONFIG_PREEMPT_VOLUNTARY is not set | 149 | # CONFIG_PREEMPT_VOLUNTARY is not set |
150 | # CONFIG_PREEMPT is not set | 150 | # CONFIG_PREEMPT is not set |
151 | CONFIG_LOCKDEP_SUPPORT=y | ||
152 | CONFIG_STACKTRACE_SUPPORT=y | ||
151 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 153 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
152 | 154 | ||
153 | # | 155 | # |
diff --git a/arch/mips/configs/ocelot_3_defconfig b/arch/mips/configs/ocelot_3_defconfig index 4d87da2b99fd..440d65f93a94 100644 --- a/arch/mips/configs/ocelot_3_defconfig +++ b/arch/mips/configs/ocelot_3_defconfig | |||
@@ -153,6 +153,8 @@ CONFIG_HZ=1000 | |||
153 | CONFIG_PREEMPT_NONE=y | 153 | CONFIG_PREEMPT_NONE=y |
154 | # CONFIG_PREEMPT_VOLUNTARY is not set | 154 | # CONFIG_PREEMPT_VOLUNTARY is not set |
155 | # CONFIG_PREEMPT is not set | 155 | # CONFIG_PREEMPT is not set |
156 | CONFIG_LOCKDEP_SUPPORT=y | ||
157 | CONFIG_STACKTRACE_SUPPORT=y | ||
156 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 158 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
157 | 159 | ||
158 | # | 160 | # |
@@ -1091,6 +1093,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1091 | # | 1093 | # |
1092 | # Kernel hacking | 1094 | # Kernel hacking |
1093 | # | 1095 | # |
1096 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1094 | # CONFIG_PRINTK_TIME is not set | 1097 | # CONFIG_PRINTK_TIME is not set |
1095 | # CONFIG_MAGIC_SYSRQ is not set | 1098 | # CONFIG_MAGIC_SYSRQ is not set |
1096 | # CONFIG_UNUSED_SYMBOLS is not set | 1099 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/ocelot_c_defconfig b/arch/mips/configs/ocelot_c_defconfig index a7ac2b0a8273..c2c7ae77da3e 100644 --- a/arch/mips/configs/ocelot_c_defconfig +++ b/arch/mips/configs/ocelot_c_defconfig | |||
@@ -150,6 +150,8 @@ CONFIG_HZ=1000 | |||
150 | CONFIG_PREEMPT_NONE=y | 150 | CONFIG_PREEMPT_NONE=y |
151 | # CONFIG_PREEMPT_VOLUNTARY is not set | 151 | # CONFIG_PREEMPT_VOLUNTARY is not set |
152 | # CONFIG_PREEMPT is not set | 152 | # CONFIG_PREEMPT is not set |
153 | CONFIG_LOCKDEP_SUPPORT=y | ||
154 | CONFIG_STACKTRACE_SUPPORT=y | ||
153 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 155 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
154 | 156 | ||
155 | # | 157 | # |
@@ -839,6 +841,7 @@ CONFIG_MSDOS_PARTITION=y | |||
839 | # | 841 | # |
840 | # Kernel hacking | 842 | # Kernel hacking |
841 | # | 843 | # |
844 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
842 | # CONFIG_PRINTK_TIME is not set | 845 | # CONFIG_PRINTK_TIME is not set |
843 | # CONFIG_MAGIC_SYSRQ is not set | 846 | # CONFIG_MAGIC_SYSRQ is not set |
844 | # CONFIG_UNUSED_SYMBOLS is not set | 847 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/ocelot_defconfig b/arch/mips/configs/ocelot_defconfig index 853e7bba5122..67efe270e0cc 100644 --- a/arch/mips/configs/ocelot_defconfig +++ b/arch/mips/configs/ocelot_defconfig | |||
@@ -154,6 +154,8 @@ CONFIG_HZ=1000 | |||
154 | CONFIG_PREEMPT_NONE=y | 154 | CONFIG_PREEMPT_NONE=y |
155 | # CONFIG_PREEMPT_VOLUNTARY is not set | 155 | # CONFIG_PREEMPT_VOLUNTARY is not set |
156 | # CONFIG_PREEMPT is not set | 156 | # CONFIG_PREEMPT is not set |
157 | CONFIG_LOCKDEP_SUPPORT=y | ||
158 | CONFIG_STACKTRACE_SUPPORT=y | ||
157 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 159 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
158 | 160 | ||
159 | # | 161 | # |
@@ -788,6 +790,7 @@ CONFIG_MSDOS_PARTITION=y | |||
788 | # | 790 | # |
789 | # Kernel hacking | 791 | # Kernel hacking |
790 | # | 792 | # |
793 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
791 | # CONFIG_PRINTK_TIME is not set | 794 | # CONFIG_PRINTK_TIME is not set |
792 | # CONFIG_MAGIC_SYSRQ is not set | 795 | # CONFIG_MAGIC_SYSRQ is not set |
793 | # CONFIG_UNUSED_SYMBOLS is not set | 796 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/ocelot_g_defconfig b/arch/mips/configs/ocelot_g_defconfig index 8524efa23a49..a10f34de5f7e 100644 --- a/arch/mips/configs/ocelot_g_defconfig +++ b/arch/mips/configs/ocelot_g_defconfig | |||
@@ -153,6 +153,8 @@ CONFIG_HZ=1000 | |||
153 | CONFIG_PREEMPT_NONE=y | 153 | CONFIG_PREEMPT_NONE=y |
154 | # CONFIG_PREEMPT_VOLUNTARY is not set | 154 | # CONFIG_PREEMPT_VOLUNTARY is not set |
155 | # CONFIG_PREEMPT is not set | 155 | # CONFIG_PREEMPT is not set |
156 | CONFIG_LOCKDEP_SUPPORT=y | ||
157 | CONFIG_STACKTRACE_SUPPORT=y | ||
156 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 158 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
157 | 159 | ||
158 | # | 160 | # |
@@ -842,6 +844,7 @@ CONFIG_MSDOS_PARTITION=y | |||
842 | # | 844 | # |
843 | # Kernel hacking | 845 | # Kernel hacking |
844 | # | 846 | # |
847 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
845 | # CONFIG_PRINTK_TIME is not set | 848 | # CONFIG_PRINTK_TIME is not set |
846 | # CONFIG_MAGIC_SYSRQ is not set | 849 | # CONFIG_MAGIC_SYSRQ is not set |
847 | # CONFIG_UNUSED_SYMBOLS is not set | 850 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/pb1100_defconfig b/arch/mips/configs/pb1100_defconfig index 1a16e92900cb..741f8258075c 100644 --- a/arch/mips/configs/pb1100_defconfig +++ b/arch/mips/configs/pb1100_defconfig | |||
@@ -149,6 +149,8 @@ CONFIG_HZ=1000 | |||
149 | CONFIG_PREEMPT_NONE=y | 149 | CONFIG_PREEMPT_NONE=y |
150 | # CONFIG_PREEMPT_VOLUNTARY is not set | 150 | # CONFIG_PREEMPT_VOLUNTARY is not set |
151 | # CONFIG_PREEMPT is not set | 151 | # CONFIG_PREEMPT is not set |
152 | CONFIG_LOCKDEP_SUPPORT=y | ||
153 | CONFIG_STACKTRACE_SUPPORT=y | ||
152 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 154 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
153 | 155 | ||
154 | # | 156 | # |
@@ -1000,6 +1002,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1000 | # | 1002 | # |
1001 | # Kernel hacking | 1003 | # Kernel hacking |
1002 | # | 1004 | # |
1005 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1003 | # CONFIG_PRINTK_TIME is not set | 1006 | # CONFIG_PRINTK_TIME is not set |
1004 | # CONFIG_MAGIC_SYSRQ is not set | 1007 | # CONFIG_MAGIC_SYSRQ is not set |
1005 | # CONFIG_UNUSED_SYMBOLS is not set | 1008 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/pb1500_defconfig b/arch/mips/configs/pb1500_defconfig index 9ea8edea6f29..8576340714da 100644 --- a/arch/mips/configs/pb1500_defconfig +++ b/arch/mips/configs/pb1500_defconfig | |||
@@ -148,6 +148,8 @@ CONFIG_HZ=1000 | |||
148 | CONFIG_PREEMPT_NONE=y | 148 | CONFIG_PREEMPT_NONE=y |
149 | # CONFIG_PREEMPT_VOLUNTARY is not set | 149 | # CONFIG_PREEMPT_VOLUNTARY is not set |
150 | # CONFIG_PREEMPT is not set | 150 | # CONFIG_PREEMPT is not set |
151 | CONFIG_LOCKDEP_SUPPORT=y | ||
152 | CONFIG_STACKTRACE_SUPPORT=y | ||
151 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 153 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
152 | 154 | ||
153 | # | 155 | # |
@@ -1106,6 +1108,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1106 | # | 1108 | # |
1107 | # Kernel hacking | 1109 | # Kernel hacking |
1108 | # | 1110 | # |
1111 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1109 | # CONFIG_PRINTK_TIME is not set | 1112 | # CONFIG_PRINTK_TIME is not set |
1110 | # CONFIG_MAGIC_SYSRQ is not set | 1113 | # CONFIG_MAGIC_SYSRQ is not set |
1111 | # CONFIG_UNUSED_SYMBOLS is not set | 1114 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/pb1550_defconfig b/arch/mips/configs/pb1550_defconfig index c4a158976f8f..3db7427d1b55 100644 --- a/arch/mips/configs/pb1550_defconfig +++ b/arch/mips/configs/pb1550_defconfig | |||
@@ -148,6 +148,8 @@ CONFIG_HZ=1000 | |||
148 | CONFIG_PREEMPT_NONE=y | 148 | CONFIG_PREEMPT_NONE=y |
149 | # CONFIG_PREEMPT_VOLUNTARY is not set | 149 | # CONFIG_PREEMPT_VOLUNTARY is not set |
150 | # CONFIG_PREEMPT is not set | 150 | # CONFIG_PREEMPT is not set |
151 | CONFIG_LOCKDEP_SUPPORT=y | ||
152 | CONFIG_STACKTRACE_SUPPORT=y | ||
151 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 153 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
152 | 154 | ||
153 | # | 155 | # |
@@ -1098,6 +1100,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1098 | # | 1100 | # |
1099 | # Kernel hacking | 1101 | # Kernel hacking |
1100 | # | 1102 | # |
1103 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1101 | # CONFIG_PRINTK_TIME is not set | 1104 | # CONFIG_PRINTK_TIME is not set |
1102 | # CONFIG_MAGIC_SYSRQ is not set | 1105 | # CONFIG_MAGIC_SYSRQ is not set |
1103 | # CONFIG_UNUSED_SYMBOLS is not set | 1106 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/pnx8550-jbs_defconfig b/arch/mips/configs/pnx8550-jbs_defconfig index 1cbf270c301c..26b0b9883496 100644 --- a/arch/mips/configs/pnx8550-jbs_defconfig +++ b/arch/mips/configs/pnx8550-jbs_defconfig | |||
@@ -153,6 +153,8 @@ CONFIG_HZ=1000 | |||
153 | CONFIG_PREEMPT_NONE=y | 153 | CONFIG_PREEMPT_NONE=y |
154 | # CONFIG_PREEMPT_VOLUNTARY is not set | 154 | # CONFIG_PREEMPT_VOLUNTARY is not set |
155 | # CONFIG_PREEMPT is not set | 155 | # CONFIG_PREEMPT is not set |
156 | CONFIG_LOCKDEP_SUPPORT=y | ||
157 | CONFIG_STACKTRACE_SUPPORT=y | ||
156 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 158 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
157 | 159 | ||
158 | # | 160 | # |
@@ -876,6 +878,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
876 | # | 878 | # |
877 | # Kernel hacking | 879 | # Kernel hacking |
878 | # | 880 | # |
881 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
879 | # CONFIG_PRINTK_TIME is not set | 882 | # CONFIG_PRINTK_TIME is not set |
880 | CONFIG_MAGIC_SYSRQ=y | 883 | CONFIG_MAGIC_SYSRQ=y |
881 | # CONFIG_UNUSED_SYMBOLS is not set | 884 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/pnx8550-v2pci_defconfig b/arch/mips/configs/pnx8550-v2pci_defconfig index bec30b15b9bd..e93266b37dd9 100644 --- a/arch/mips/configs/pnx8550-v2pci_defconfig +++ b/arch/mips/configs/pnx8550-v2pci_defconfig | |||
@@ -153,6 +153,8 @@ CONFIG_HZ=1000 | |||
153 | CONFIG_PREEMPT_NONE=y | 153 | CONFIG_PREEMPT_NONE=y |
154 | # CONFIG_PREEMPT_VOLUNTARY is not set | 154 | # CONFIG_PREEMPT_VOLUNTARY is not set |
155 | # CONFIG_PREEMPT is not set | 155 | # CONFIG_PREEMPT is not set |
156 | CONFIG_LOCKDEP_SUPPORT=y | ||
157 | CONFIG_STACKTRACE_SUPPORT=y | ||
156 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 158 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
157 | 159 | ||
158 | # | 160 | # |
@@ -1057,6 +1059,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1057 | # | 1059 | # |
1058 | # Kernel hacking | 1060 | # Kernel hacking |
1059 | # | 1061 | # |
1062 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1060 | # CONFIG_PRINTK_TIME is not set | 1063 | # CONFIG_PRINTK_TIME is not set |
1061 | # CONFIG_MAGIC_SYSRQ is not set | 1064 | # CONFIG_MAGIC_SYSRQ is not set |
1062 | # CONFIG_UNUSED_SYMBOLS is not set | 1065 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/qemu_defconfig b/arch/mips/configs/qemu_defconfig index f5f799e93707..9b0dab822bd0 100644 --- a/arch/mips/configs/qemu_defconfig +++ b/arch/mips/configs/qemu_defconfig | |||
@@ -145,6 +145,8 @@ CONFIG_HZ=100 | |||
145 | CONFIG_PREEMPT_NONE=y | 145 | CONFIG_PREEMPT_NONE=y |
146 | # CONFIG_PREEMPT_VOLUNTARY is not set | 146 | # CONFIG_PREEMPT_VOLUNTARY is not set |
147 | # CONFIG_PREEMPT is not set | 147 | # CONFIG_PREEMPT is not set |
148 | CONFIG_LOCKDEP_SUPPORT=y | ||
149 | CONFIG_STACKTRACE_SUPPORT=y | ||
148 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 150 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
149 | 151 | ||
150 | # | 152 | # |
@@ -733,6 +735,7 @@ CONFIG_MSDOS_PARTITION=y | |||
733 | # | 735 | # |
734 | # Kernel hacking | 736 | # Kernel hacking |
735 | # | 737 | # |
738 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
736 | # CONFIG_PRINTK_TIME is not set | 739 | # CONFIG_PRINTK_TIME is not set |
737 | # CONFIG_MAGIC_SYSRQ is not set | 740 | # CONFIG_MAGIC_SYSRQ is not set |
738 | # CONFIG_UNUSED_SYMBOLS is not set | 741 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/rbhma4500_defconfig b/arch/mips/configs/rbhma4500_defconfig index 2f5650227ba3..dd0296036026 100644 --- a/arch/mips/configs/rbhma4500_defconfig +++ b/arch/mips/configs/rbhma4500_defconfig | |||
@@ -155,6 +155,8 @@ CONFIG_HZ=1000 | |||
155 | CONFIG_PREEMPT_NONE=y | 155 | CONFIG_PREEMPT_NONE=y |
156 | # CONFIG_PREEMPT_VOLUNTARY is not set | 156 | # CONFIG_PREEMPT_VOLUNTARY is not set |
157 | # CONFIG_PREEMPT is not set | 157 | # CONFIG_PREEMPT is not set |
158 | CONFIG_LOCKDEP_SUPPORT=y | ||
159 | CONFIG_STACKTRACE_SUPPORT=y | ||
158 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 160 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
159 | 161 | ||
160 | # | 162 | # |
@@ -1335,6 +1337,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1335 | # | 1337 | # |
1336 | # Kernel hacking | 1338 | # Kernel hacking |
1337 | # | 1339 | # |
1340 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1338 | # CONFIG_PRINTK_TIME is not set | 1341 | # CONFIG_PRINTK_TIME is not set |
1339 | # CONFIG_MAGIC_SYSRQ is not set | 1342 | # CONFIG_MAGIC_SYSRQ is not set |
1340 | # CONFIG_UNUSED_SYMBOLS is not set | 1343 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/rm200_defconfig b/arch/mips/configs/rm200_defconfig index 4fee90b2b100..d8a498d64d62 100644 --- a/arch/mips/configs/rm200_defconfig +++ b/arch/mips/configs/rm200_defconfig | |||
@@ -158,6 +158,8 @@ CONFIG_HZ=1000 | |||
158 | # CONFIG_PREEMPT_NONE is not set | 158 | # CONFIG_PREEMPT_NONE is not set |
159 | CONFIG_PREEMPT_VOLUNTARY=y | 159 | CONFIG_PREEMPT_VOLUNTARY=y |
160 | # CONFIG_PREEMPT is not set | 160 | # CONFIG_PREEMPT is not set |
161 | CONFIG_LOCKDEP_SUPPORT=y | ||
162 | CONFIG_STACKTRACE_SUPPORT=y | ||
161 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 163 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
162 | 164 | ||
163 | # | 165 | # |
@@ -1584,6 +1586,7 @@ CONFIG_NLS_UTF8=m | |||
1584 | # | 1586 | # |
1585 | # Kernel hacking | 1587 | # Kernel hacking |
1586 | # | 1588 | # |
1589 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1587 | # CONFIG_PRINTK_TIME is not set | 1590 | # CONFIG_PRINTK_TIME is not set |
1588 | # CONFIG_MAGIC_SYSRQ is not set | 1591 | # CONFIG_MAGIC_SYSRQ is not set |
1589 | # CONFIG_UNUSED_SYMBOLS is not set | 1592 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/sb1250-swarm_defconfig b/arch/mips/configs/sb1250-swarm_defconfig index 9041f095f96f..805a4fe450f5 100644 --- a/arch/mips/configs/sb1250-swarm_defconfig +++ b/arch/mips/configs/sb1250-swarm_defconfig | |||
@@ -171,6 +171,8 @@ CONFIG_PREEMPT_NONE=y | |||
171 | # CONFIG_PREEMPT_VOLUNTARY is not set | 171 | # CONFIG_PREEMPT_VOLUNTARY is not set |
172 | # CONFIG_PREEMPT is not set | 172 | # CONFIG_PREEMPT is not set |
173 | CONFIG_PREEMPT_BKL=y | 173 | CONFIG_PREEMPT_BKL=y |
174 | CONFIG_LOCKDEP_SUPPORT=y | ||
175 | CONFIG_STACKTRACE_SUPPORT=y | ||
174 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 176 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
175 | 177 | ||
176 | # | 178 | # |
@@ -873,6 +875,7 @@ CONFIG_MSDOS_PARTITION=y | |||
873 | # | 875 | # |
874 | # Kernel hacking | 876 | # Kernel hacking |
875 | # | 877 | # |
878 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
876 | # CONFIG_PRINTK_TIME is not set | 879 | # CONFIG_PRINTK_TIME is not set |
877 | # CONFIG_MAGIC_SYSRQ is not set | 880 | # CONFIG_MAGIC_SYSRQ is not set |
878 | # CONFIG_UNUSED_SYMBOLS is not set | 881 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/sead_defconfig b/arch/mips/configs/sead_defconfig index 02abb2f1bfaf..6fcb656d8d87 100644 --- a/arch/mips/configs/sead_defconfig +++ b/arch/mips/configs/sead_defconfig | |||
@@ -151,6 +151,8 @@ CONFIG_HZ=1000 | |||
151 | CONFIG_PREEMPT_NONE=y | 151 | CONFIG_PREEMPT_NONE=y |
152 | # CONFIG_PREEMPT_VOLUNTARY is not set | 152 | # CONFIG_PREEMPT_VOLUNTARY is not set |
153 | # CONFIG_PREEMPT is not set | 153 | # CONFIG_PREEMPT is not set |
154 | CONFIG_LOCKDEP_SUPPORT=y | ||
155 | CONFIG_STACKTRACE_SUPPORT=y | ||
154 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 156 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
155 | 157 | ||
156 | # | 158 | # |
@@ -581,6 +583,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
581 | # | 583 | # |
582 | # Kernel hacking | 584 | # Kernel hacking |
583 | # | 585 | # |
586 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
584 | # CONFIG_PRINTK_TIME is not set | 587 | # CONFIG_PRINTK_TIME is not set |
585 | # CONFIG_MAGIC_SYSRQ is not set | 588 | # CONFIG_MAGIC_SYSRQ is not set |
586 | # CONFIG_UNUSED_SYMBOLS is not set | 589 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/tb0226_defconfig b/arch/mips/configs/tb0226_defconfig index ca3d0c4ba15b..dc312f19ada7 100644 --- a/arch/mips/configs/tb0226_defconfig +++ b/arch/mips/configs/tb0226_defconfig | |||
@@ -151,6 +151,8 @@ CONFIG_HZ=1000 | |||
151 | CONFIG_PREEMPT_NONE=y | 151 | CONFIG_PREEMPT_NONE=y |
152 | # CONFIG_PREEMPT_VOLUNTARY is not set | 152 | # CONFIG_PREEMPT_VOLUNTARY is not set |
153 | # CONFIG_PREEMPT is not set | 153 | # CONFIG_PREEMPT is not set |
154 | CONFIG_LOCKDEP_SUPPORT=y | ||
155 | CONFIG_STACKTRACE_SUPPORT=y | ||
154 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 156 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
155 | 157 | ||
156 | # | 158 | # |
@@ -1059,6 +1061,7 @@ CONFIG_MSDOS_PARTITION=y | |||
1059 | # | 1061 | # |
1060 | # Kernel hacking | 1062 | # Kernel hacking |
1061 | # | 1063 | # |
1064 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1062 | # CONFIG_PRINTK_TIME is not set | 1065 | # CONFIG_PRINTK_TIME is not set |
1063 | # CONFIG_MAGIC_SYSRQ is not set | 1066 | # CONFIG_MAGIC_SYSRQ is not set |
1064 | # CONFIG_UNUSED_SYMBOLS is not set | 1067 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/tb0229_defconfig b/arch/mips/configs/tb0229_defconfig index 4e2009ace278..85615d99b01a 100644 --- a/arch/mips/configs/tb0229_defconfig +++ b/arch/mips/configs/tb0229_defconfig | |||
@@ -151,6 +151,8 @@ CONFIG_HZ=1000 | |||
151 | CONFIG_PREEMPT_NONE=y | 151 | CONFIG_PREEMPT_NONE=y |
152 | # CONFIG_PREEMPT_VOLUNTARY is not set | 152 | # CONFIG_PREEMPT_VOLUNTARY is not set |
153 | # CONFIG_PREEMPT is not set | 153 | # CONFIG_PREEMPT is not set |
154 | CONFIG_LOCKDEP_SUPPORT=y | ||
155 | CONFIG_STACKTRACE_SUPPORT=y | ||
154 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 156 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
155 | 157 | ||
156 | # | 158 | # |
@@ -968,6 +970,7 @@ CONFIG_MSDOS_PARTITION=y | |||
968 | # | 970 | # |
969 | # Kernel hacking | 971 | # Kernel hacking |
970 | # | 972 | # |
973 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
971 | # CONFIG_PRINTK_TIME is not set | 974 | # CONFIG_PRINTK_TIME is not set |
972 | # CONFIG_MAGIC_SYSRQ is not set | 975 | # CONFIG_MAGIC_SYSRQ is not set |
973 | # CONFIG_UNUSED_SYMBOLS is not set | 976 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/tb0287_defconfig b/arch/mips/configs/tb0287_defconfig index 535a813d01a9..ad7271b3f266 100644 --- a/arch/mips/configs/tb0287_defconfig +++ b/arch/mips/configs/tb0287_defconfig | |||
@@ -151,6 +151,8 @@ CONFIG_HZ=1000 | |||
151 | CONFIG_PREEMPT_NONE=y | 151 | CONFIG_PREEMPT_NONE=y |
152 | # CONFIG_PREEMPT_VOLUNTARY is not set | 152 | # CONFIG_PREEMPT_VOLUNTARY is not set |
153 | # CONFIG_PREEMPT is not set | 153 | # CONFIG_PREEMPT is not set |
154 | CONFIG_LOCKDEP_SUPPORT=y | ||
155 | CONFIG_STACKTRACE_SUPPORT=y | ||
154 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 156 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
155 | 157 | ||
156 | # | 158 | # |
@@ -1146,6 +1148,7 @@ CONFIG_MSDOS_PARTITION=y | |||
1146 | # | 1148 | # |
1147 | # Kernel hacking | 1149 | # Kernel hacking |
1148 | # | 1150 | # |
1151 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1149 | # CONFIG_PRINTK_TIME is not set | 1152 | # CONFIG_PRINTK_TIME is not set |
1150 | # CONFIG_MAGIC_SYSRQ is not set | 1153 | # CONFIG_MAGIC_SYSRQ is not set |
1151 | # CONFIG_UNUSED_SYMBOLS is not set | 1154 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/workpad_defconfig b/arch/mips/configs/workpad_defconfig index 3a3ef20b21cc..863f6a7cadfd 100644 --- a/arch/mips/configs/workpad_defconfig +++ b/arch/mips/configs/workpad_defconfig | |||
@@ -147,6 +147,8 @@ CONFIG_HZ=1000 | |||
147 | CONFIG_PREEMPT_NONE=y | 147 | CONFIG_PREEMPT_NONE=y |
148 | # CONFIG_PREEMPT_VOLUNTARY is not set | 148 | # CONFIG_PREEMPT_VOLUNTARY is not set |
149 | # CONFIG_PREEMPT is not set | 149 | # CONFIG_PREEMPT is not set |
150 | CONFIG_LOCKDEP_SUPPORT=y | ||
151 | CONFIG_STACKTRACE_SUPPORT=y | ||
150 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 152 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
151 | 153 | ||
152 | # | 154 | # |
diff --git a/arch/mips/configs/wrppmc_defconfig b/arch/mips/configs/wrppmc_defconfig index e6b1dea55842..c10267d61cc9 100644 --- a/arch/mips/configs/wrppmc_defconfig +++ b/arch/mips/configs/wrppmc_defconfig | |||
@@ -155,6 +155,8 @@ CONFIG_HZ=1000 | |||
155 | CONFIG_PREEMPT_NONE=y | 155 | CONFIG_PREEMPT_NONE=y |
156 | # CONFIG_PREEMPT_VOLUNTARY is not set | 156 | # CONFIG_PREEMPT_VOLUNTARY is not set |
157 | # CONFIG_PREEMPT is not set | 157 | # CONFIG_PREEMPT is not set |
158 | CONFIG_LOCKDEP_SUPPORT=y | ||
159 | CONFIG_STACKTRACE_SUPPORT=y | ||
158 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 160 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
159 | 161 | ||
160 | # | 162 | # |
@@ -829,6 +831,7 @@ CONFIG_MSDOS_PARTITION=y | |||
829 | # | 831 | # |
830 | # Kernel hacking | 832 | # Kernel hacking |
831 | # | 833 | # |
834 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
832 | # CONFIG_PRINTK_TIME is not set | 835 | # CONFIG_PRINTK_TIME is not set |
833 | # CONFIG_MAGIC_SYSRQ is not set | 836 | # CONFIG_MAGIC_SYSRQ is not set |
834 | # CONFIG_UNUSED_SYMBOLS is not set | 837 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/configs/yosemite_defconfig b/arch/mips/configs/yosemite_defconfig index 06a072b77b1c..4d3c1329f3cf 100644 --- a/arch/mips/configs/yosemite_defconfig +++ b/arch/mips/configs/yosemite_defconfig | |||
@@ -152,6 +152,8 @@ CONFIG_PREEMPT_NONE=y | |||
152 | # CONFIG_PREEMPT_VOLUNTARY is not set | 152 | # CONFIG_PREEMPT_VOLUNTARY is not set |
153 | # CONFIG_PREEMPT is not set | 153 | # CONFIG_PREEMPT is not set |
154 | CONFIG_PREEMPT_BKL=y | 154 | CONFIG_PREEMPT_BKL=y |
155 | CONFIG_LOCKDEP_SUPPORT=y | ||
156 | CONFIG_STACKTRACE_SUPPORT=y | ||
155 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 157 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
156 | 158 | ||
157 | # | 159 | # |
@@ -760,6 +762,7 @@ CONFIG_MSDOS_PARTITION=y | |||
760 | # | 762 | # |
761 | # Kernel hacking | 763 | # Kernel hacking |
762 | # | 764 | # |
765 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
763 | # CONFIG_PRINTK_TIME is not set | 766 | # CONFIG_PRINTK_TIME is not set |
764 | # CONFIG_MAGIC_SYSRQ is not set | 767 | # CONFIG_MAGIC_SYSRQ is not set |
765 | # CONFIG_UNUSED_SYMBOLS is not set | 768 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/defconfig b/arch/mips/defconfig index cc9b24eda9e8..21d53e0c9ee8 100644 --- a/arch/mips/defconfig +++ b/arch/mips/defconfig | |||
@@ -153,6 +153,8 @@ CONFIG_HZ=1000 | |||
153 | # CONFIG_PREEMPT_NONE is not set | 153 | # CONFIG_PREEMPT_NONE is not set |
154 | CONFIG_PREEMPT_VOLUNTARY=y | 154 | CONFIG_PREEMPT_VOLUNTARY=y |
155 | # CONFIG_PREEMPT is not set | 155 | # CONFIG_PREEMPT is not set |
156 | CONFIG_LOCKDEP_SUPPORT=y | ||
157 | CONFIG_STACKTRACE_SUPPORT=y | ||
156 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 158 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
157 | 159 | ||
158 | # | 160 | # |
@@ -1147,6 +1149,7 @@ CONFIG_NLS_UTF8=m | |||
1147 | # | 1149 | # |
1148 | # Kernel hacking | 1150 | # Kernel hacking |
1149 | # | 1151 | # |
1152 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1150 | # CONFIG_PRINTK_TIME is not set | 1153 | # CONFIG_PRINTK_TIME is not set |
1151 | # CONFIG_MAGIC_SYSRQ is not set | 1154 | # CONFIG_MAGIC_SYSRQ is not set |
1152 | # CONFIG_UNUSED_SYMBOLS is not set | 1155 | # CONFIG_UNUSED_SYMBOLS is not set |
diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile index 881c467c6982..cd9cec9e39e9 100644 --- a/arch/mips/kernel/Makefile +++ b/arch/mips/kernel/Makefile | |||
@@ -11,6 +11,7 @@ obj-y += cpu-probe.o branch.o entry.o genex.o irq.o process.o \ | |||
11 | binfmt_irix-objs := irixelf.o irixinv.o irixioctl.o irixsig.o \ | 11 | binfmt_irix-objs := irixelf.o irixinv.o irixioctl.o irixsig.o \ |
12 | irix5sys.o sysirix.o | 12 | irix5sys.o sysirix.o |
13 | 13 | ||
14 | obj-$(CONFIG_STACKTRACE) += stacktrace.o | ||
14 | obj-$(CONFIG_MODULES) += mips_ksyms.o module.o | 15 | obj-$(CONFIG_MODULES) += mips_ksyms.o module.o |
15 | 16 | ||
16 | obj-$(CONFIG_APM) += apm.o | 17 | obj-$(CONFIG_APM) += apm.o |
diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S index 37fda3dcdfc5..af6ef2fd8300 100644 --- a/arch/mips/kernel/genex.S +++ b/arch/mips/kernel/genex.S | |||
@@ -220,8 +220,8 @@ NESTED(except_vec_vi_handler, 0, sp) | |||
220 | CLI | 220 | CLI |
221 | TRACE_IRQS_OFF | 221 | TRACE_IRQS_OFF |
222 | move a0, sp | 222 | move a0, sp |
223 | jalr v0 | 223 | PTR_LA ra, ret_from_irq |
224 | j ret_from_irq | 224 | jr v0 |
225 | END(except_vec_vi_handler) | 225 | END(except_vec_vi_handler) |
226 | 226 | ||
227 | /* | 227 | /* |
@@ -349,8 +349,8 @@ NESTED(nmi_handler, PT_SIZE, sp) | |||
349 | .set at | 349 | .set at |
350 | __BUILD_\verbose \exception | 350 | __BUILD_\verbose \exception |
351 | move a0, sp | 351 | move a0, sp |
352 | jal do_\handler | 352 | PTR_LA ra, ret_from_exception |
353 | j ret_from_exception | 353 | j do_\handler |
354 | END(handle_\exception) | 354 | END(handle_\exception) |
355 | .endm | 355 | .endm |
356 | 356 | ||
diff --git a/arch/mips/kernel/i8259.c b/arch/mips/kernel/i8259.c index ea36c8e8852c..48e3418c217b 100644 --- a/arch/mips/kernel/i8259.c +++ b/arch/mips/kernel/i8259.c | |||
@@ -302,11 +302,11 @@ static struct irqaction irq2 = { | |||
302 | }; | 302 | }; |
303 | 303 | ||
304 | static struct resource pic1_io_resource = { | 304 | static struct resource pic1_io_resource = { |
305 | .name = "pic1", .start = 0x20, .end = 0x3f, .flags = IORESOURCE_BUSY | 305 | .name = "pic1", .start = 0x20, .end = 0x21, .flags = IORESOURCE_BUSY |
306 | }; | 306 | }; |
307 | 307 | ||
308 | static struct resource pic2_io_resource = { | 308 | static struct resource pic2_io_resource = { |
309 | .name = "pic2", .start = 0xa0, .end = 0xbf, .flags = IORESOURCE_BUSY | 309 | .name = "pic2", .start = 0xa0, .end = 0xa1, .flags = IORESOURCE_BUSY |
310 | }; | 310 | }; |
311 | 311 | ||
312 | /* | 312 | /* |
diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c index 2613a0dd4b82..045d987bc683 100644 --- a/arch/mips/kernel/process.c +++ b/arch/mips/kernel/process.c | |||
@@ -40,6 +40,7 @@ | |||
40 | #include <asm/elf.h> | 40 | #include <asm/elf.h> |
41 | #include <asm/isadep.h> | 41 | #include <asm/isadep.h> |
42 | #include <asm/inst.h> | 42 | #include <asm/inst.h> |
43 | #include <asm/stacktrace.h> | ||
43 | #ifdef CONFIG_MIPS_MT_SMTC | 44 | #ifdef CONFIG_MIPS_MT_SMTC |
44 | #include <asm/mipsmtregs.h> | 45 | #include <asm/mipsmtregs.h> |
45 | extern void smtc_idle_loop_hook(void); | 46 | extern void smtc_idle_loop_hook(void); |
@@ -398,7 +399,7 @@ unsigned long thread_saved_pc(struct task_struct *tsk) | |||
398 | #ifdef CONFIG_KALLSYMS | 399 | #ifdef CONFIG_KALLSYMS |
399 | /* used by show_backtrace() */ | 400 | /* used by show_backtrace() */ |
400 | unsigned long unwind_stack(struct task_struct *task, unsigned long *sp, | 401 | unsigned long unwind_stack(struct task_struct *task, unsigned long *sp, |
401 | unsigned long pc, unsigned long ra) | 402 | unsigned long pc, unsigned long *ra) |
402 | { | 403 | { |
403 | unsigned long stack_page; | 404 | unsigned long stack_page; |
404 | struct mips_frame_info info; | 405 | struct mips_frame_info info; |
@@ -406,18 +407,42 @@ unsigned long unwind_stack(struct task_struct *task, unsigned long *sp, | |||
406 | char namebuf[KSYM_NAME_LEN + 1]; | 407 | char namebuf[KSYM_NAME_LEN + 1]; |
407 | unsigned long size, ofs; | 408 | unsigned long size, ofs; |
408 | int leaf; | 409 | int leaf; |
410 | extern void ret_from_irq(void); | ||
411 | extern void ret_from_exception(void); | ||
409 | 412 | ||
410 | stack_page = (unsigned long)task_stack_page(task); | 413 | stack_page = (unsigned long)task_stack_page(task); |
411 | if (!stack_page) | 414 | if (!stack_page) |
412 | return 0; | 415 | return 0; |
413 | 416 | ||
417 | /* | ||
418 | * If we reached the bottom of interrupt context, | ||
419 | * return saved pc in pt_regs. | ||
420 | */ | ||
421 | if (pc == (unsigned long)ret_from_irq || | ||
422 | pc == (unsigned long)ret_from_exception) { | ||
423 | struct pt_regs *regs; | ||
424 | if (*sp >= stack_page && | ||
425 | *sp + sizeof(*regs) <= stack_page + THREAD_SIZE - 32) { | ||
426 | regs = (struct pt_regs *)*sp; | ||
427 | pc = regs->cp0_epc; | ||
428 | if (__kernel_text_address(pc)) { | ||
429 | *sp = regs->regs[29]; | ||
430 | *ra = regs->regs[31]; | ||
431 | return pc; | ||
432 | } | ||
433 | } | ||
434 | return 0; | ||
435 | } | ||
414 | if (!kallsyms_lookup(pc, &size, &ofs, &modname, namebuf)) | 436 | if (!kallsyms_lookup(pc, &size, &ofs, &modname, namebuf)) |
415 | return 0; | 437 | return 0; |
416 | /* | 438 | /* |
417 | * Return ra if an exception occured at the first instruction | 439 | * Return ra if an exception occured at the first instruction |
418 | */ | 440 | */ |
419 | if (unlikely(ofs == 0)) | 441 | if (unlikely(ofs == 0)) { |
420 | return ra; | 442 | pc = *ra; |
443 | *ra = 0; | ||
444 | return pc; | ||
445 | } | ||
421 | 446 | ||
422 | info.func = (void *)(pc - ofs); | 447 | info.func = (void *)(pc - ofs); |
423 | info.func_size = ofs; /* analyze from start to ofs */ | 448 | info.func_size = ofs; /* analyze from start to ofs */ |
@@ -436,11 +461,12 @@ unsigned long unwind_stack(struct task_struct *task, unsigned long *sp, | |||
436 | * one. In that cases avoid to return always the | 461 | * one. In that cases avoid to return always the |
437 | * same value. | 462 | * same value. |
438 | */ | 463 | */ |
439 | pc = pc != ra ? ra : 0; | 464 | pc = pc != *ra ? *ra : 0; |
440 | else | 465 | else |
441 | pc = ((unsigned long *)(*sp))[info.pc_offset]; | 466 | pc = ((unsigned long *)(*sp))[info.pc_offset]; |
442 | 467 | ||
443 | *sp += info.frame_size; | 468 | *sp += info.frame_size; |
469 | *ra = 0; | ||
444 | return __kernel_text_address(pc) ? pc : 0; | 470 | return __kernel_text_address(pc) ? pc : 0; |
445 | } | 471 | } |
446 | #endif | 472 | #endif |
@@ -453,6 +479,7 @@ unsigned long get_wchan(struct task_struct *task) | |||
453 | unsigned long pc = 0; | 479 | unsigned long pc = 0; |
454 | #ifdef CONFIG_KALLSYMS | 480 | #ifdef CONFIG_KALLSYMS |
455 | unsigned long sp; | 481 | unsigned long sp; |
482 | unsigned long ra = 0; | ||
456 | #endif | 483 | #endif |
457 | 484 | ||
458 | if (!task || task == current || task->state == TASK_RUNNING) | 485 | if (!task || task == current || task->state == TASK_RUNNING) |
@@ -466,7 +493,7 @@ unsigned long get_wchan(struct task_struct *task) | |||
466 | sp = task->thread.reg29 + schedule_mfi.frame_size; | 493 | sp = task->thread.reg29 + schedule_mfi.frame_size; |
467 | 494 | ||
468 | while (in_sched_functions(pc)) | 495 | while (in_sched_functions(pc)) |
469 | pc = unwind_stack(task, &sp, pc, 0); | 496 | pc = unwind_stack(task, &sp, pc, &ra); |
470 | #endif | 497 | #endif |
471 | 498 | ||
472 | out: | 499 | out: |
diff --git a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S index e71785102206..61362e6fa9ec 100644 --- a/arch/mips/kernel/scall32-o32.S +++ b/arch/mips/kernel/scall32-o32.S | |||
@@ -28,18 +28,7 @@ | |||
28 | NESTED(handle_sys, PT_SIZE, sp) | 28 | NESTED(handle_sys, PT_SIZE, sp) |
29 | .set noat | 29 | .set noat |
30 | SAVE_SOME | 30 | SAVE_SOME |
31 | #ifdef CONFIG_TRACE_IRQFLAGS | 31 | TRACE_IRQS_ON_RELOAD |
32 | TRACE_IRQS_ON | ||
33 | #ifdef CONFIG_64BIT | ||
34 | LONG_L $8, PT_R8(sp) | ||
35 | LONG_L $9, PT_R9(sp) | ||
36 | #endif | ||
37 | LONG_L $7, PT_R7(sp) | ||
38 | LONG_L $6, PT_R6(sp) | ||
39 | LONG_L $5, PT_R5(sp) | ||
40 | LONG_L $4, PT_R4(sp) | ||
41 | LONG_L $2, PT_R2(sp) | ||
42 | #endif | ||
43 | STI | 32 | STI |
44 | .set at | 33 | .set at |
45 | 34 | ||
diff --git a/arch/mips/kernel/scall64-64.S b/arch/mips/kernel/scall64-64.S index 4c22d0b4825d..6c7b5ed0ea6e 100644 --- a/arch/mips/kernel/scall64-64.S +++ b/arch/mips/kernel/scall64-64.S | |||
@@ -34,7 +34,7 @@ NESTED(handle_sys64, PT_SIZE, sp) | |||
34 | */ | 34 | */ |
35 | .set noat | 35 | .set noat |
36 | SAVE_SOME | 36 | SAVE_SOME |
37 | TRACE_IRQS_ON | 37 | TRACE_IRQS_ON_RELOAD |
38 | STI | 38 | STI |
39 | .set at | 39 | .set at |
40 | #endif | 40 | #endif |
diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S index f25c2a2f1038..6d9f18727ac5 100644 --- a/arch/mips/kernel/scall64-n32.S +++ b/arch/mips/kernel/scall64-n32.S | |||
@@ -33,7 +33,7 @@ NESTED(handle_sysn32, PT_SIZE, sp) | |||
33 | #ifndef CONFIG_MIPS32_O32 | 33 | #ifndef CONFIG_MIPS32_O32 |
34 | .set noat | 34 | .set noat |
35 | SAVE_SOME | 35 | SAVE_SOME |
36 | TRACE_IRQS_ON | 36 | TRACE_IRQS_ON_RELOAD |
37 | STI | 37 | STI |
38 | .set at | 38 | .set at |
39 | #endif | 39 | #endif |
diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S index 288ee4ac4dbb..2e6d0673163e 100644 --- a/arch/mips/kernel/scall64-o32.S +++ b/arch/mips/kernel/scall64-o32.S | |||
@@ -28,7 +28,7 @@ | |||
28 | NESTED(handle_sys, PT_SIZE, sp) | 28 | NESTED(handle_sys, PT_SIZE, sp) |
29 | .set noat | 29 | .set noat |
30 | SAVE_SOME | 30 | SAVE_SOME |
31 | TRACE_IRQS_ON | 31 | TRACE_IRQS_ON_RELOAD |
32 | STI | 32 | STI |
33 | .set at | 33 | .set at |
34 | ld t1, PT_EPC(sp) # skip syscall on return | 34 | ld t1, PT_EPC(sp) # skip syscall on return |
diff --git a/arch/mips/kernel/stacktrace.c b/arch/mips/kernel/stacktrace.c new file mode 100644 index 000000000000..4aabe526a68e --- /dev/null +++ b/arch/mips/kernel/stacktrace.c | |||
@@ -0,0 +1,85 @@ | |||
1 | /* | ||
2 | * arch/mips/kernel/stacktrace.c | ||
3 | * | ||
4 | * Stack trace management functions | ||
5 | * | ||
6 | * Copyright (C) 2006 Atsushi Nemoto <anemo@mba.ocn.ne.jp> | ||
7 | */ | ||
8 | #include <linux/sched.h> | ||
9 | #include <linux/stacktrace.h> | ||
10 | #include <asm/stacktrace.h> | ||
11 | |||
12 | /* | ||
13 | * Save stack-backtrace addresses into a stack_trace buffer: | ||
14 | */ | ||
15 | static void save_raw_context_stack(struct stack_trace *trace, | ||
16 | unsigned long reg29) | ||
17 | { | ||
18 | unsigned long *sp = (unsigned long *)reg29; | ||
19 | unsigned long addr; | ||
20 | |||
21 | while (!kstack_end(sp)) { | ||
22 | addr = *sp++; | ||
23 | if (__kernel_text_address(addr)) { | ||
24 | if (trace->skip > 0) | ||
25 | trace->skip--; | ||
26 | else | ||
27 | trace->entries[trace->nr_entries++] = addr; | ||
28 | if (trace->nr_entries >= trace->max_entries) | ||
29 | break; | ||
30 | } | ||
31 | } | ||
32 | } | ||
33 | |||
34 | static void save_context_stack(struct stack_trace *trace, | ||
35 | struct task_struct *task, struct pt_regs *regs) | ||
36 | { | ||
37 | unsigned long sp = regs->regs[29]; | ||
38 | #ifdef CONFIG_KALLSYMS | ||
39 | unsigned long ra = regs->regs[31]; | ||
40 | unsigned long pc = regs->cp0_epc; | ||
41 | |||
42 | if (raw_show_trace || !__kernel_text_address(pc)) { | ||
43 | unsigned long stack_page = | ||
44 | (unsigned long)task_stack_page(task); | ||
45 | if (stack_page && sp >= stack_page && | ||
46 | sp <= stack_page + THREAD_SIZE - 32) | ||
47 | save_raw_context_stack(trace, sp); | ||
48 | return; | ||
49 | } | ||
50 | do { | ||
51 | if (trace->skip > 0) | ||
52 | trace->skip--; | ||
53 | else | ||
54 | trace->entries[trace->nr_entries++] = pc; | ||
55 | if (trace->nr_entries >= trace->max_entries) | ||
56 | break; | ||
57 | pc = unwind_stack(task, &sp, pc, &ra); | ||
58 | } while (pc); | ||
59 | #else | ||
60 | save_raw_context_stack(sp); | ||
61 | #endif | ||
62 | } | ||
63 | |||
64 | /* | ||
65 | * Save stack-backtrace addresses into a stack_trace buffer. | ||
66 | */ | ||
67 | void save_stack_trace(struct stack_trace *trace, struct task_struct *task) | ||
68 | { | ||
69 | struct pt_regs dummyregs; | ||
70 | struct pt_regs *regs = &dummyregs; | ||
71 | |||
72 | WARN_ON(trace->nr_entries || !trace->max_entries); | ||
73 | |||
74 | if (task && task != current) { | ||
75 | regs->regs[29] = task->thread.reg29; | ||
76 | regs->regs[31] = 0; | ||
77 | regs->cp0_epc = task->thread.reg31; | ||
78 | } else { | ||
79 | if (!task) | ||
80 | task = current; | ||
81 | prepare_frametrace(regs); | ||
82 | } | ||
83 | |||
84 | save_context_stack(trace, task, regs); | ||
85 | } | ||
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index e51d8fd9a152..b7292a56d4cd 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c | |||
@@ -41,6 +41,7 @@ | |||
41 | #include <asm/mmu_context.h> | 41 | #include <asm/mmu_context.h> |
42 | #include <asm/watch.h> | 42 | #include <asm/watch.h> |
43 | #include <asm/types.h> | 43 | #include <asm/types.h> |
44 | #include <asm/stacktrace.h> | ||
44 | 45 | ||
45 | extern asmlinkage void handle_int(void); | 46 | extern asmlinkage void handle_int(void); |
46 | extern asmlinkage void handle_tlbm(void); | 47 | extern asmlinkage void handle_tlbm(void); |
@@ -92,16 +93,14 @@ static void show_raw_backtrace(unsigned long reg29) | |||
92 | } | 93 | } |
93 | 94 | ||
94 | #ifdef CONFIG_KALLSYMS | 95 | #ifdef CONFIG_KALLSYMS |
95 | static int raw_show_trace; | 96 | int raw_show_trace; |
96 | static int __init set_raw_show_trace(char *str) | 97 | static int __init set_raw_show_trace(char *str) |
97 | { | 98 | { |
98 | raw_show_trace = 1; | 99 | raw_show_trace = 1; |
99 | return 1; | 100 | return 1; |
100 | } | 101 | } |
101 | __setup("raw_show_trace", set_raw_show_trace); | 102 | __setup("raw_show_trace", set_raw_show_trace); |
102 | 103 | #endif | |
103 | extern unsigned long unwind_stack(struct task_struct *task, unsigned long *sp, | ||
104 | unsigned long pc, unsigned long ra); | ||
105 | 104 | ||
106 | static void show_backtrace(struct task_struct *task, struct pt_regs *regs) | 105 | static void show_backtrace(struct task_struct *task, struct pt_regs *regs) |
107 | { | 106 | { |
@@ -116,14 +115,10 @@ static void show_backtrace(struct task_struct *task, struct pt_regs *regs) | |||
116 | printk("Call Trace:\n"); | 115 | printk("Call Trace:\n"); |
117 | do { | 116 | do { |
118 | print_ip_sym(pc); | 117 | print_ip_sym(pc); |
119 | pc = unwind_stack(task, &sp, pc, ra); | 118 | pc = unwind_stack(task, &sp, pc, &ra); |
120 | ra = 0; | ||
121 | } while (pc); | 119 | } while (pc); |
122 | printk("\n"); | 120 | printk("\n"); |
123 | } | 121 | } |
124 | #else | ||
125 | #define show_backtrace(task, r) show_raw_backtrace((r)->regs[29]); | ||
126 | #endif | ||
127 | 122 | ||
128 | /* | 123 | /* |
129 | * This routine abuses get_user()/put_user() to reference pointers | 124 | * This routine abuses get_user()/put_user() to reference pointers |
@@ -158,28 +153,6 @@ static void show_stacktrace(struct task_struct *task, struct pt_regs *regs) | |||
158 | show_backtrace(task, regs); | 153 | show_backtrace(task, regs); |
159 | } | 154 | } |
160 | 155 | ||
161 | static __always_inline void prepare_frametrace(struct pt_regs *regs) | ||
162 | { | ||
163 | __asm__ __volatile__( | ||
164 | ".set push\n\t" | ||
165 | ".set noat\n\t" | ||
166 | #ifdef CONFIG_64BIT | ||
167 | "1: dla $1, 1b\n\t" | ||
168 | "sd $1, %0\n\t" | ||
169 | "sd $29, %1\n\t" | ||
170 | "sd $31, %2\n\t" | ||
171 | #else | ||
172 | "1: la $1, 1b\n\t" | ||
173 | "sw $1, %0\n\t" | ||
174 | "sw $29, %1\n\t" | ||
175 | "sw $31, %2\n\t" | ||
176 | #endif | ||
177 | ".set pop\n\t" | ||
178 | : "=m" (regs->cp0_epc), | ||
179 | "=m" (regs->regs[29]), "=m" (regs->regs[31]) | ||
180 | : : "memory"); | ||
181 | } | ||
182 | |||
183 | void show_stack(struct task_struct *task, unsigned long *sp) | 156 | void show_stack(struct task_struct *task, unsigned long *sp) |
184 | { | 157 | { |
185 | struct pt_regs regs; | 158 | struct pt_regs regs; |
@@ -206,11 +179,6 @@ void dump_stack(void) | |||
206 | { | 179 | { |
207 | struct pt_regs regs; | 180 | struct pt_regs regs; |
208 | 181 | ||
209 | /* | ||
210 | * Remove any garbage that may be in regs (specially func | ||
211 | * addresses) to avoid show_raw_backtrace() to report them | ||
212 | */ | ||
213 | memset(®s, 0, sizeof(regs)); | ||
214 | prepare_frametrace(®s); | 182 | prepare_frametrace(®s); |
215 | show_backtrace(current, ®s); | 183 | show_backtrace(current, ®s); |
216 | } | 184 | } |
diff --git a/arch/mips/mm/c-r3k.c b/arch/mips/mm/c-r3k.c index e1f35ef81145..d1af42c2a52e 100644 --- a/arch/mips/mm/c-r3k.c +++ b/arch/mips/mm/c-r3k.c | |||
@@ -268,26 +268,6 @@ static void r3k_flush_data_cache_page(unsigned long addr) | |||
268 | { | 268 | { |
269 | } | 269 | } |
270 | 270 | ||
271 | static void r3k_flush_icache_page(struct vm_area_struct *vma, struct page *page) | ||
272 | { | ||
273 | struct mm_struct *mm = vma->vm_mm; | ||
274 | unsigned long physpage; | ||
275 | |||
276 | if (cpu_context(smp_processor_id(), mm) == 0) | ||
277 | return; | ||
278 | |||
279 | if (!(vma->vm_flags & VM_EXEC)) | ||
280 | return; | ||
281 | |||
282 | #ifdef DEBUG_CACHE | ||
283 | printk("cpage[%d,%08lx]", cpu_context(smp_processor_id(), mm), page); | ||
284 | #endif | ||
285 | |||
286 | physpage = (unsigned long) page_address(page); | ||
287 | if (physpage) | ||
288 | r3k_flush_icache_range(physpage, physpage + PAGE_SIZE); | ||
289 | } | ||
290 | |||
291 | static void r3k_flush_cache_sigtramp(unsigned long addr) | 271 | static void r3k_flush_cache_sigtramp(unsigned long addr) |
292 | { | 272 | { |
293 | unsigned long flags; | 273 | unsigned long flags; |
@@ -335,7 +315,6 @@ void __init r3k_cache_init(void) | |||
335 | flush_cache_mm = r3k_flush_cache_mm; | 315 | flush_cache_mm = r3k_flush_cache_mm; |
336 | flush_cache_range = r3k_flush_cache_range; | 316 | flush_cache_range = r3k_flush_cache_range; |
337 | flush_cache_page = r3k_flush_cache_page; | 317 | flush_cache_page = r3k_flush_cache_page; |
338 | __flush_icache_page = r3k_flush_icache_page; | ||
339 | flush_icache_range = r3k_flush_icache_range; | 318 | flush_icache_range = r3k_flush_icache_range; |
340 | 319 | ||
341 | flush_cache_sigtramp = r3k_flush_cache_sigtramp; | 320 | flush_cache_sigtramp = r3k_flush_cache_sigtramp; |
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c index 0b2da53750bd..cc895dad71d2 100644 --- a/arch/mips/mm/c-r4k.c +++ b/arch/mips/mm/c-r4k.c | |||
@@ -551,82 +551,6 @@ static void r4k_flush_icache_range(unsigned long start, unsigned long end) | |||
551 | instruction_hazard(); | 551 | instruction_hazard(); |
552 | } | 552 | } |
553 | 553 | ||
554 | /* | ||
555 | * Ok, this seriously sucks. We use them to flush a user page but don't | ||
556 | * know the virtual address, so we have to blast away the whole icache | ||
557 | * which is significantly more expensive than the real thing. Otoh we at | ||
558 | * least know the kernel address of the page so we can flush it | ||
559 | * selectivly. | ||
560 | */ | ||
561 | |||
562 | struct flush_icache_page_args { | ||
563 | struct vm_area_struct *vma; | ||
564 | struct page *page; | ||
565 | }; | ||
566 | |||
567 | static inline void local_r4k_flush_icache_page(void *args) | ||
568 | { | ||
569 | struct flush_icache_page_args *fip_args = args; | ||
570 | struct vm_area_struct *vma = fip_args->vma; | ||
571 | struct page *page = fip_args->page; | ||
572 | |||
573 | /* | ||
574 | * Tricky ... Because we don't know the virtual address we've got the | ||
575 | * choice of either invalidating the entire primary and secondary | ||
576 | * caches or invalidating the secondary caches also. With the subset | ||
577 | * enforcment on R4000SC, R4400SC, R10000 and R12000 invalidating the | ||
578 | * secondary cache will result in any entries in the primary caches | ||
579 | * also getting invalidated which hopefully is a bit more economical. | ||
580 | */ | ||
581 | if (cpu_has_inclusive_pcaches) { | ||
582 | unsigned long addr = (unsigned long) page_address(page); | ||
583 | |||
584 | r4k_blast_scache_page(addr); | ||
585 | ClearPageDcacheDirty(page); | ||
586 | |||
587 | return; | ||
588 | } | ||
589 | |||
590 | if (!cpu_has_ic_fills_f_dc) { | ||
591 | unsigned long addr = (unsigned long) page_address(page); | ||
592 | r4k_blast_dcache_page(addr); | ||
593 | if (!cpu_icache_snoops_remote_store) | ||
594 | r4k_blast_scache_page(addr); | ||
595 | ClearPageDcacheDirty(page); | ||
596 | } | ||
597 | |||
598 | /* | ||
599 | * We're not sure of the virtual address(es) involved here, so | ||
600 | * we have to flush the entire I-cache. | ||
601 | */ | ||
602 | if (cpu_has_vtag_icache && vma->vm_mm == current->active_mm) { | ||
603 | int cpu = smp_processor_id(); | ||
604 | |||
605 | if (cpu_context(cpu, vma->vm_mm) != 0) | ||
606 | drop_mmu_context(vma->vm_mm, cpu); | ||
607 | } else | ||
608 | r4k_blast_icache(); | ||
609 | } | ||
610 | |||
611 | static void r4k_flush_icache_page(struct vm_area_struct *vma, | ||
612 | struct page *page) | ||
613 | { | ||
614 | struct flush_icache_page_args args; | ||
615 | |||
616 | /* | ||
617 | * If there's no context yet, or the page isn't executable, no I-cache | ||
618 | * flush is needed. | ||
619 | */ | ||
620 | if (!(vma->vm_flags & VM_EXEC)) | ||
621 | return; | ||
622 | |||
623 | args.vma = vma; | ||
624 | args.page = page; | ||
625 | |||
626 | r4k_on_each_cpu(local_r4k_flush_icache_page, &args, 1, 1); | ||
627 | } | ||
628 | |||
629 | |||
630 | #ifdef CONFIG_DMA_NONCOHERENT | 554 | #ifdef CONFIG_DMA_NONCOHERENT |
631 | 555 | ||
632 | static void r4k_dma_cache_wback_inv(unsigned long addr, unsigned long size) | 556 | static void r4k_dma_cache_wback_inv(unsigned long addr, unsigned long size) |
@@ -1291,7 +1215,6 @@ void __init r4k_cache_init(void) | |||
1291 | __flush_cache_all = r4k___flush_cache_all; | 1215 | __flush_cache_all = r4k___flush_cache_all; |
1292 | flush_cache_mm = r4k_flush_cache_mm; | 1216 | flush_cache_mm = r4k_flush_cache_mm; |
1293 | flush_cache_page = r4k_flush_cache_page; | 1217 | flush_cache_page = r4k_flush_cache_page; |
1294 | __flush_icache_page = r4k_flush_icache_page; | ||
1295 | flush_cache_range = r4k_flush_cache_range; | 1218 | flush_cache_range = r4k_flush_cache_range; |
1296 | 1219 | ||
1297 | flush_cache_sigtramp = r4k_flush_cache_sigtramp; | 1220 | flush_cache_sigtramp = r4k_flush_cache_sigtramp; |
diff --git a/arch/mips/mm/c-sb1.c b/arch/mips/mm/c-sb1.c index 16bad7c0a63f..5537558f19f7 100644 --- a/arch/mips/mm/c-sb1.c +++ b/arch/mips/mm/c-sb1.c | |||
@@ -307,66 +307,6 @@ void sb1_flush_icache_range(unsigned long start, unsigned long end) | |||
307 | #endif | 307 | #endif |
308 | 308 | ||
309 | /* | 309 | /* |
310 | * Flush the icache for a given physical page. Need to writeback the | ||
311 | * dcache first, then invalidate the icache. If the page isn't | ||
312 | * executable, nothing is required. | ||
313 | */ | ||
314 | static void local_sb1_flush_icache_page(struct vm_area_struct *vma, | ||
315 | struct page *page) | ||
316 | { | ||
317 | unsigned long start; | ||
318 | int cpu = smp_processor_id(); | ||
319 | |||
320 | #ifndef CONFIG_SMP | ||
321 | if (!(vma->vm_flags & VM_EXEC)) | ||
322 | return; | ||
323 | #endif | ||
324 | |||
325 | /* Need to writeback any dirty data for that page, we have the PA */ | ||
326 | start = (unsigned long)(page-mem_map) << PAGE_SHIFT; | ||
327 | __sb1_writeback_inv_dcache_phys_range(start, start + PAGE_SIZE); | ||
328 | /* | ||
329 | * If there's a context, bump the ASID (cheaper than a flush, | ||
330 | * since we don't know VAs!) | ||
331 | */ | ||
332 | if (vma->vm_mm == current->active_mm) { | ||
333 | if (cpu_context(cpu, vma->vm_mm) != 0) | ||
334 | drop_mmu_context(vma->vm_mm, cpu); | ||
335 | } else | ||
336 | __sb1_flush_icache_range(start, start + PAGE_SIZE); | ||
337 | |||
338 | } | ||
339 | |||
340 | #ifdef CONFIG_SMP | ||
341 | struct flush_icache_page_args { | ||
342 | struct vm_area_struct *vma; | ||
343 | struct page *page; | ||
344 | }; | ||
345 | |||
346 | static void sb1_flush_icache_page_ipi(void *info) | ||
347 | { | ||
348 | struct flush_icache_page_args *args = info; | ||
349 | local_sb1_flush_icache_page(args->vma, args->page); | ||
350 | } | ||
351 | |||
352 | /* Dirty dcache could be on another CPU, so do the IPIs */ | ||
353 | static void sb1_flush_icache_page(struct vm_area_struct *vma, | ||
354 | struct page *page) | ||
355 | { | ||
356 | struct flush_icache_page_args args; | ||
357 | |||
358 | if (!(vma->vm_flags & VM_EXEC)) | ||
359 | return; | ||
360 | args.vma = vma; | ||
361 | args.page = page; | ||
362 | on_each_cpu(sb1_flush_icache_page_ipi, (void *) &args, 1, 1); | ||
363 | } | ||
364 | #else | ||
365 | void sb1_flush_icache_page(struct vm_area_struct *vma, struct page *page) | ||
366 | __attribute__((alias("local_sb1_flush_icache_page"))); | ||
367 | #endif | ||
368 | |||
369 | /* | ||
370 | * A signal trampoline must fit into a single cacheline. | 310 | * A signal trampoline must fit into a single cacheline. |
371 | */ | 311 | */ |
372 | static void local_sb1_flush_cache_sigtramp(unsigned long addr) | 312 | static void local_sb1_flush_cache_sigtramp(unsigned long addr) |
@@ -526,7 +466,6 @@ void sb1_cache_init(void) | |||
526 | 466 | ||
527 | /* These routines are for Icache coherence with the Dcache */ | 467 | /* These routines are for Icache coherence with the Dcache */ |
528 | flush_icache_range = sb1_flush_icache_range; | 468 | flush_icache_range = sb1_flush_icache_range; |
529 | __flush_icache_page = sb1_flush_icache_page; | ||
530 | flush_icache_all = __sb1_flush_icache_all; /* local only */ | 469 | flush_icache_all = __sb1_flush_icache_all; /* local only */ |
531 | 470 | ||
532 | /* This implies an Icache flush too, so can't be nop'ed */ | 471 | /* This implies an Icache flush too, so can't be nop'ed */ |
diff --git a/arch/mips/mm/c-tx39.c b/arch/mips/mm/c-tx39.c index 932a09d7ef84..f32ebde30ccf 100644 --- a/arch/mips/mm/c-tx39.c +++ b/arch/mips/mm/c-tx39.c | |||
@@ -248,33 +248,6 @@ static void tx39_flush_icache_range(unsigned long start, unsigned long end) | |||
248 | } | 248 | } |
249 | } | 249 | } |
250 | 250 | ||
251 | /* | ||
252 | * Ok, this seriously sucks. We use them to flush a user page but don't | ||
253 | * know the virtual address, so we have to blast away the whole icache | ||
254 | * which is significantly more expensive than the real thing. Otoh we at | ||
255 | * least know the kernel address of the page so we can flush it | ||
256 | * selectivly. | ||
257 | */ | ||
258 | static void tx39_flush_icache_page(struct vm_area_struct *vma, struct page *page) | ||
259 | { | ||
260 | unsigned long addr; | ||
261 | /* | ||
262 | * If there's no context yet, or the page isn't executable, no icache | ||
263 | * flush is needed. | ||
264 | */ | ||
265 | if (!(vma->vm_flags & VM_EXEC)) | ||
266 | return; | ||
267 | |||
268 | addr = (unsigned long) page_address(page); | ||
269 | tx39_blast_dcache_page(addr); | ||
270 | |||
271 | /* | ||
272 | * We're not sure of the virtual address(es) involved here, so | ||
273 | * we have to flush the entire I-cache. | ||
274 | */ | ||
275 | tx39_blast_icache(); | ||
276 | } | ||
277 | |||
278 | static void tx39_dma_cache_wback_inv(unsigned long addr, unsigned long size) | 251 | static void tx39_dma_cache_wback_inv(unsigned long addr, unsigned long size) |
279 | { | 252 | { |
280 | unsigned long end; | 253 | unsigned long end; |
@@ -382,7 +355,6 @@ void __init tx39_cache_init(void) | |||
382 | flush_cache_mm = (void *) tx39h_flush_icache_all; | 355 | flush_cache_mm = (void *) tx39h_flush_icache_all; |
383 | flush_cache_range = (void *) tx39h_flush_icache_all; | 356 | flush_cache_range = (void *) tx39h_flush_icache_all; |
384 | flush_cache_page = (void *) tx39h_flush_icache_all; | 357 | flush_cache_page = (void *) tx39h_flush_icache_all; |
385 | __flush_icache_page = (void *) tx39h_flush_icache_all; | ||
386 | flush_icache_range = (void *) tx39h_flush_icache_all; | 358 | flush_icache_range = (void *) tx39h_flush_icache_all; |
387 | 359 | ||
388 | flush_cache_sigtramp = (void *) tx39h_flush_icache_all; | 360 | flush_cache_sigtramp = (void *) tx39h_flush_icache_all; |
@@ -408,7 +380,6 @@ void __init tx39_cache_init(void) | |||
408 | flush_cache_mm = tx39_flush_cache_mm; | 380 | flush_cache_mm = tx39_flush_cache_mm; |
409 | flush_cache_range = tx39_flush_cache_range; | 381 | flush_cache_range = tx39_flush_cache_range; |
410 | flush_cache_page = tx39_flush_cache_page; | 382 | flush_cache_page = tx39_flush_cache_page; |
411 | __flush_icache_page = tx39_flush_icache_page; | ||
412 | flush_icache_range = tx39_flush_icache_range; | 383 | flush_icache_range = tx39_flush_icache_range; |
413 | 384 | ||
414 | flush_cache_sigtramp = tx39_flush_cache_sigtramp; | 385 | flush_cache_sigtramp = tx39_flush_cache_sigtramp; |
diff --git a/arch/mips/mm/cache.c b/arch/mips/mm/cache.c index 40c8b0235183..caf807ded514 100644 --- a/arch/mips/mm/cache.c +++ b/arch/mips/mm/cache.c | |||
@@ -25,7 +25,6 @@ void (*flush_cache_range)(struct vm_area_struct *vma, unsigned long start, | |||
25 | void (*flush_cache_page)(struct vm_area_struct *vma, unsigned long page, | 25 | void (*flush_cache_page)(struct vm_area_struct *vma, unsigned long page, |
26 | unsigned long pfn); | 26 | unsigned long pfn); |
27 | void (*flush_icache_range)(unsigned long start, unsigned long end); | 27 | void (*flush_icache_range)(unsigned long start, unsigned long end); |
28 | void (*__flush_icache_page)(struct vm_area_struct *vma, struct page *page); | ||
29 | 28 | ||
30 | /* MIPS specific cache operations */ | 29 | /* MIPS specific cache operations */ |
31 | void (*flush_cache_sigtramp)(unsigned long addr); | 30 | void (*flush_cache_sigtramp)(unsigned long addr); |
diff --git a/arch/mips/mm/tlbex-fault.S b/arch/mips/mm/tlbex-fault.S index 9e7f4175b493..e99eaa1fbedc 100644 --- a/arch/mips/mm/tlbex-fault.S +++ b/arch/mips/mm/tlbex-fault.S | |||
@@ -19,8 +19,8 @@ | |||
19 | move a0, sp | 19 | move a0, sp |
20 | REG_S a2, PT_BVADDR(sp) | 20 | REG_S a2, PT_BVADDR(sp) |
21 | li a1, \write | 21 | li a1, \write |
22 | jal do_page_fault | 22 | PTR_LA ra, ret_from_exception |
23 | j ret_from_exception | 23 | j do_page_fault |
24 | END(tlb_do_page_fault_\write) | 24 | END(tlb_do_page_fault_\write) |
25 | .endm | 25 | .endm |
26 | 26 | ||
diff --git a/include/asm-mips/cacheflush.h b/include/asm-mips/cacheflush.h index 36416fdfcf68..9ab59e2bb233 100644 --- a/include/asm-mips/cacheflush.h +++ b/include/asm-mips/cacheflush.h | |||
@@ -46,8 +46,6 @@ static inline void flush_dcache_page(struct page *page) | |||
46 | #define flush_dcache_mmap_lock(mapping) do { } while (0) | 46 | #define flush_dcache_mmap_lock(mapping) do { } while (0) |
47 | #define flush_dcache_mmap_unlock(mapping) do { } while (0) | 47 | #define flush_dcache_mmap_unlock(mapping) do { } while (0) |
48 | 48 | ||
49 | extern void (*__flush_icache_page)(struct vm_area_struct *vma, | ||
50 | struct page *page); | ||
51 | static inline void flush_icache_page(struct vm_area_struct *vma, | 49 | static inline void flush_icache_page(struct vm_area_struct *vma, |
52 | struct page *page) | 50 | struct page *page) |
53 | { | 51 | { |
diff --git a/include/asm-mips/galileo-boards/ev96100.h b/include/asm-mips/galileo-boards/ev96100.h deleted file mode 100644 index 070dfd84a8e8..000000000000 --- a/include/asm-mips/galileo-boards/ev96100.h +++ /dev/null | |||
@@ -1,55 +0,0 @@ | |||
1 | /* | ||
2 | * | ||
3 | */ | ||
4 | #ifndef _MIPS_EV96100_H | ||
5 | #define _MIPS_EV96100_H | ||
6 | |||
7 | #include <asm/addrspace.h> | ||
8 | |||
9 | /* | ||
10 | * GT64120 config space base address | ||
11 | */ | ||
12 | #define GT64120_BASE (KSEG1ADDR(0x14000000)) | ||
13 | #define MIPS_GT_BASE GT64120_BASE | ||
14 | |||
15 | /* | ||
16 | * PCI Bus allocation | ||
17 | */ | ||
18 | #define GT_PCI_MEM_BASE 0x12000000UL | ||
19 | #define GT_PCI_MEM_SIZE 0x02000000UL | ||
20 | #define GT_PCI_IO_BASE 0x10000000UL | ||
21 | #define GT_PCI_IO_SIZE 0x02000000UL | ||
22 | #define GT_ISA_IO_BASE PCI_IO_BASE | ||
23 | |||
24 | /* | ||
25 | * Duart I/O ports. | ||
26 | */ | ||
27 | #define EV96100_COM1_BASE_ADDR (0xBD000000 + 0x20) | ||
28 | #define EV96100_COM2_BASE_ADDR (0xBD000000 + 0x00) | ||
29 | |||
30 | |||
31 | /* | ||
32 | * EV96100 interrupt controller register base. | ||
33 | */ | ||
34 | #define EV96100_ICTRL_REGS_BASE (KSEG1ADDR(0x1f000000)) | ||
35 | |||
36 | /* | ||
37 | * EV96100 UART register base. | ||
38 | */ | ||
39 | #define EV96100_UART0_REGS_BASE EV96100_COM1_BASE_ADDR | ||
40 | #define EV96100_UART1_REGS_BASE EV96100_COM2_BASE_ADDR | ||
41 | #define EV96100_BASE_BAUD ( 3686400 / 16 ) | ||
42 | |||
43 | |||
44 | /* | ||
45 | * Because of an error/peculiarity in the Galileo chip, we need to swap the | ||
46 | * bytes when running bigendian. | ||
47 | */ | ||
48 | #define __GT_READ(ofs) \ | ||
49 | (*(volatile u32 *)(GT64120_BASE+(ofs))) | ||
50 | #define __GT_WRITE(ofs, data) \ | ||
51 | do { *(volatile u32 *)(GT64120_BASE+(ofs)) = (data); } while (0) | ||
52 | #define GT_READ(ofs) le32_to_cpu(__GT_READ(ofs)) | ||
53 | #define GT_WRITE(ofs, data) __GT_WRITE(ofs, cpu_to_le32(data)) | ||
54 | |||
55 | #endif /* !(_MIPS_EV96100_H) */ | ||
diff --git a/include/asm-mips/galileo-boards/ev96100int.h b/include/asm-mips/galileo-boards/ev96100int.h deleted file mode 100644 index c58b16d06d6e..000000000000 --- a/include/asm-mips/galileo-boards/ev96100int.h +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | /* | ||
2 | * | ||
3 | */ | ||
4 | #ifndef _MIPS_EV96100INT_H | ||
5 | #define _MIPS_EV96100INT_H | ||
6 | |||
7 | #define EV96100INT_UART_0 6 /* IP 6 */ | ||
8 | #define EV96100INT_TIMER 7 /* IP 7 */ | ||
9 | |||
10 | extern void ev96100int_init(void); | ||
11 | |||
12 | #endif /* !(_MIPS_EV96100_H) */ | ||
diff --git a/include/asm-mips/irqflags.h b/include/asm-mips/irqflags.h index 43ca09a3a3d0..46bf5de5ac72 100644 --- a/include/asm-mips/irqflags.h +++ b/include/asm-mips/irqflags.h | |||
@@ -213,12 +213,37 @@ static inline int raw_irqs_disabled_flags(unsigned long flags) | |||
213 | * Do the CPU's IRQ-state tracing from assembly code. | 213 | * Do the CPU's IRQ-state tracing from assembly code. |
214 | */ | 214 | */ |
215 | #ifdef CONFIG_TRACE_IRQFLAGS | 215 | #ifdef CONFIG_TRACE_IRQFLAGS |
216 | /* Reload some registers clobbered by trace_hardirqs_on */ | ||
217 | #ifdef CONFIG_64BIT | ||
218 | # define TRACE_IRQS_RELOAD_REGS \ | ||
219 | LONG_L $11, PT_R11(sp); \ | ||
220 | LONG_L $10, PT_R10(sp); \ | ||
221 | LONG_L $9, PT_R9(sp); \ | ||
222 | LONG_L $8, PT_R8(sp); \ | ||
223 | LONG_L $7, PT_R7(sp); \ | ||
224 | LONG_L $6, PT_R6(sp); \ | ||
225 | LONG_L $5, PT_R5(sp); \ | ||
226 | LONG_L $4, PT_R4(sp); \ | ||
227 | LONG_L $2, PT_R2(sp) | ||
228 | #else | ||
229 | # define TRACE_IRQS_RELOAD_REGS \ | ||
230 | LONG_L $7, PT_R7(sp); \ | ||
231 | LONG_L $6, PT_R6(sp); \ | ||
232 | LONG_L $5, PT_R5(sp); \ | ||
233 | LONG_L $4, PT_R4(sp); \ | ||
234 | LONG_L $2, PT_R2(sp) | ||
235 | #endif | ||
216 | # define TRACE_IRQS_ON \ | 236 | # define TRACE_IRQS_ON \ |
237 | CLI; /* make sure trace_hardirqs_on() is called in kernel level */ \ | ||
217 | jal trace_hardirqs_on | 238 | jal trace_hardirqs_on |
239 | # define TRACE_IRQS_ON_RELOAD \ | ||
240 | TRACE_IRQS_ON; \ | ||
241 | TRACE_IRQS_RELOAD_REGS | ||
218 | # define TRACE_IRQS_OFF \ | 242 | # define TRACE_IRQS_OFF \ |
219 | jal trace_hardirqs_off | 243 | jal trace_hardirqs_off |
220 | #else | 244 | #else |
221 | # define TRACE_IRQS_ON | 245 | # define TRACE_IRQS_ON |
246 | # define TRACE_IRQS_ON_RELOAD | ||
222 | # define TRACE_IRQS_OFF | 247 | # define TRACE_IRQS_OFF |
223 | #endif | 248 | #endif |
224 | 249 | ||
diff --git a/include/asm-mips/mach-ev64120/mach-gt64120.h b/include/asm-mips/mach-ev64120/mach-gt64120.h index 13b1443a7a65..7e272ce57ea3 100644 --- a/include/asm-mips/mach-ev64120/mach-gt64120.h +++ b/include/asm-mips/mach-ev64120/mach-gt64120.h | |||
@@ -42,6 +42,7 @@ extern unsigned long gt64120_base; | |||
42 | #define EV64120_UART0_REGS_BASE (KSEG1ADDR(EV64120_COM1_BASE_ADDR)) | 42 | #define EV64120_UART0_REGS_BASE (KSEG1ADDR(EV64120_COM1_BASE_ADDR)) |
43 | #define EV64120_UART1_REGS_BASE (KSEG1ADDR(EV64120_COM2_BASE_ADDR)) | 43 | #define EV64120_UART1_REGS_BASE (KSEG1ADDR(EV64120_COM2_BASE_ADDR)) |
44 | #define EV64120_BASE_BAUD ( 3686400 / 16 ) | 44 | #define EV64120_BASE_BAUD ( 3686400 / 16 ) |
45 | #define EV64120_UART_IRQ 6 | ||
45 | 46 | ||
46 | /* | 47 | /* |
47 | * PCI interrupts will come in on either the INTA or INTD interrups lines, | 48 | * PCI interrupts will come in on either the INTA or INTD interrups lines, |
diff --git a/include/asm-mips/serial.h b/include/asm-mips/serial.h index 035637c67e7c..c882e04e1497 100644 --- a/include/asm-mips/serial.h +++ b/include/asm-mips/serial.h | |||
@@ -55,19 +55,18 @@ | |||
55 | * Galileo EV64120 evaluation board | 55 | * Galileo EV64120 evaluation board |
56 | */ | 56 | */ |
57 | #ifdef CONFIG_MIPS_EV64120 | 57 | #ifdef CONFIG_MIPS_EV64120 |
58 | #include <asm/galileo-boards/ev96100.h> | 58 | #include <mach-gt64120.h> |
59 | #include <asm/galileo-boards/ev96100int.h> | 59 | #define EV64120_SERIAL_PORT_DEFNS \ |
60 | #define EV96100_SERIAL_PORT_DEFNS \ | 60 | { .baud_base = EV64120_BASE_BAUD, .irq = EV64120_UART_IRQ, \ |
61 | { .baud_base = EV96100_BASE_BAUD, .irq = EV96100INT_UART_0, \ | ||
62 | .flags = STD_COM_FLAGS, \ | 61 | .flags = STD_COM_FLAGS, \ |
63 | .iomem_base = EV96100_UART0_REGS_BASE, .iomem_reg_shift = 2, \ | 62 | .iomem_base = EV64120_UART0_REGS_BASE, .iomem_reg_shift = 2, \ |
64 | .io_type = SERIAL_IO_MEM }, \ | 63 | .io_type = SERIAL_IO_MEM }, \ |
65 | { .baud_base = EV96100_BASE_BAUD, .irq = EV96100INT_UART_0, \ | 64 | { .baud_base = EV64120_BASE_BAUD, .irq = EV64120_UART_IRQ, \ |
66 | .flags = STD_COM_FLAGS, \ | 65 | .flags = STD_COM_FLAGS, \ |
67 | .iomem_base = EV96100_UART1_REGS_BASE, .iomem_reg_shift = 2, \ | 66 | .iomem_base = EV64120_UART1_REGS_BASE, .iomem_reg_shift = 2, \ |
68 | .io_type = SERIAL_IO_MEM }, | 67 | .io_type = SERIAL_IO_MEM }, |
69 | #else | 68 | #else |
70 | #define EV96100_SERIAL_PORT_DEFNS | 69 | #define EV64120_SERIAL_PORT_DEFNS |
71 | #endif | 70 | #endif |
72 | 71 | ||
73 | #ifdef CONFIG_MIPS_ITE8172 | 72 | #ifdef CONFIG_MIPS_ITE8172 |
@@ -239,7 +238,7 @@ | |||
239 | 238 | ||
240 | #define SERIAL_PORT_DFNS \ | 239 | #define SERIAL_PORT_DFNS \ |
241 | DDB5477_SERIAL_PORT_DEFNS \ | 240 | DDB5477_SERIAL_PORT_DEFNS \ |
242 | EV96100_SERIAL_PORT_DEFNS \ | 241 | EV64120_SERIAL_PORT_DEFNS \ |
243 | IP32_SERIAL_PORT_DEFNS \ | 242 | IP32_SERIAL_PORT_DEFNS \ |
244 | ITE_SERIAL_PORT_DEFNS \ | 243 | ITE_SERIAL_PORT_DEFNS \ |
245 | IVR_SERIAL_PORT_DEFNS \ | 244 | IVR_SERIAL_PORT_DEFNS \ |
diff --git a/include/asm-mips/stacktrace.h b/include/asm-mips/stacktrace.h new file mode 100644 index 000000000000..07f873351a86 --- /dev/null +++ b/include/asm-mips/stacktrace.h | |||
@@ -0,0 +1,44 @@ | |||
1 | #ifndef _ASM_STACKTRACE_H | ||
2 | #define _ASM_STACKTRACE_H | ||
3 | |||
4 | #include <asm/ptrace.h> | ||
5 | |||
6 | #ifdef CONFIG_KALLSYMS | ||
7 | extern int raw_show_trace; | ||
8 | extern unsigned long unwind_stack(struct task_struct *task, unsigned long *sp, | ||
9 | unsigned long pc, unsigned long *ra); | ||
10 | #else | ||
11 | #define raw_show_trace 1 | ||
12 | #define unwind_stack(task, sp, pc, ra) 0 | ||
13 | #endif | ||
14 | |||
15 | static __always_inline void prepare_frametrace(struct pt_regs *regs) | ||
16 | { | ||
17 | #ifndef CONFIG_KALLSYMS | ||
18 | /* | ||
19 | * Remove any garbage that may be in regs (specially func | ||
20 | * addresses) to avoid show_raw_backtrace() to report them | ||
21 | */ | ||
22 | memset(regs, 0, sizeof(*regs)); | ||
23 | #endif | ||
24 | __asm__ __volatile__( | ||
25 | ".set push\n\t" | ||
26 | ".set noat\n\t" | ||
27 | #ifdef CONFIG_64BIT | ||
28 | "1: dla $1, 1b\n\t" | ||
29 | "sd $1, %0\n\t" | ||
30 | "sd $29, %1\n\t" | ||
31 | "sd $31, %2\n\t" | ||
32 | #else | ||
33 | "1: la $1, 1b\n\t" | ||
34 | "sw $1, %0\n\t" | ||
35 | "sw $29, %1\n\t" | ||
36 | "sw $31, %2\n\t" | ||
37 | #endif | ||
38 | ".set pop\n\t" | ||
39 | : "=m" (regs->cp0_epc), | ||
40 | "=m" (regs->regs[29]), "=m" (regs->regs[31]) | ||
41 | : : "memory"); | ||
42 | } | ||
43 | |||
44 | #endif /* _ASM_STACKTRACE_H */ | ||