diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-02 11:18:43 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-02 11:18:43 -0400 |
| commit | 12dce6263d43daeb4e16fa4eb964c1c99fa4fa2e (patch) | |
| tree | e70a514e5fec67be191e12eba508db8ced967a4b | |
| parent | 3f2e05e90e0846c42626e3d272454f26be34a1bc (diff) | |
| parent | 04b314b2c3732bb5aa752fdbb3076de16decdab6 (diff) | |
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
[MIPS] Remove unused galileo-boars header files
[MIPS] Rename SERIAL_PORT_DEFNS for EV64120
[MIPS] Add UART IRQ number for EV64120
[MIPS] Remove excite_flash.c
[MIPS] Update i8259 resources.
[MIPS] Make unwind_stack() can dig into interrupted context
[MIPS] Stacktrace build-fix and improvement
[MIPS] QEMU: Add support for little endian mips
[MIPS] Remove __flush_icache_page
[MIPS] lockdep: update defconfigs
[MIPS] lockdep: Add STACKTRACE_SUPPORT and enable LOCKDEP_SUPPORT
[MIPS] lockdep: fix TRACE_IRQFLAGS_SUPPORT
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 */ | ||
