diff options
-rw-r--r-- | arch/i386/kernel/cpu/cpufreq/powernow-k8.c | 5 | ||||
-rw-r--r-- | arch/mips/au1000/common/setup.c | 6 | ||||
-rw-r--r-- | arch/mips/au1000/common/time.c | 29 | ||||
-rw-r--r-- | arch/mips/au1000/pb1200/board_setup.c | 9 | ||||
-rw-r--r-- | arch/mips/kernel/branch.c | 5 | ||||
-rw-r--r-- | arch/mips/kernel/traps.c | 8 | ||||
-rw-r--r-- | arch/mips/math-emu/cp1emu.c | 19 | ||||
-rw-r--r-- | arch/mips/math-emu/dsemul.c | 12 | ||||
-rw-r--r-- | arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_setup.c | 19 | ||||
-rw-r--r-- | drivers/char/Kconfig | 14 | ||||
-rw-r--r-- | include/asm-mips/compat.h | 3 | ||||
-rw-r--r-- | include/asm-mips/mach-tx49xx/ioremap.h | 3 | ||||
-rw-r--r-- | include/linux/topology.h | 2 | ||||
-rw-r--r-- | kernel/sched.c | 30 | ||||
-rw-r--r-- | kernel/sched_debug.c | 2 |
15 files changed, 43 insertions, 123 deletions
diff --git a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c index 977336834127..4ade55c5f333 100644 --- a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c +++ b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c | |||
@@ -1330,9 +1330,8 @@ static int __cpuinit powernowk8_init(void) | |||
1330 | 1330 | ||
1331 | if (supported_cpus == num_online_cpus()) { | 1331 | if (supported_cpus == num_online_cpus()) { |
1332 | printk(KERN_INFO PFX "Found %d %s " | 1332 | printk(KERN_INFO PFX "Found %d %s " |
1333 | "processors (%d cpu cores) (" VERSION ")\n", | 1333 | "processors (" VERSION ")\n", supported_cpus, |
1334 | supported_cpus/cpu_data[0].booted_cores, | 1334 | boot_cpu_data.x86_model_id); |
1335 | boot_cpu_data.x86_model_id, supported_cpus); | ||
1336 | return cpufreq_register_driver(&cpufreq_amd64_driver); | 1335 | return cpufreq_register_driver(&cpufreq_amd64_driver); |
1337 | } | 1336 | } |
1338 | 1337 | ||
diff --git a/arch/mips/au1000/common/setup.c b/arch/mips/au1000/common/setup.c index fdf2b85a69c8..a95b37773196 100644 --- a/arch/mips/au1000/common/setup.c +++ b/arch/mips/au1000/common/setup.c | |||
@@ -103,12 +103,6 @@ void __init plat_mem_setup(void) | |||
103 | } | 103 | } |
104 | #endif | 104 | #endif |
105 | 105 | ||
106 | #ifdef CONFIG_FB_XPERT98 | ||
107 | if ((argptr = strstr(argptr, "video=")) == NULL) { | ||
108 | argptr = prom_getcmdline(); | ||
109 | strcat(argptr, " video=atyfb:1024x768-8@70"); | ||
110 | } | ||
111 | #endif | ||
112 | 106 | ||
113 | #if defined(CONFIG_SOUND_AU1X00) && !defined(CONFIG_SOC_AU1000) | 107 | #if defined(CONFIG_SOUND_AU1X00) && !defined(CONFIG_SOC_AU1000) |
114 | /* au1000 does not support vra, au1500 and au1100 do */ | 108 | /* au1000 does not support vra, au1500 and au1100 do */ |
diff --git a/arch/mips/au1000/common/time.c b/arch/mips/au1000/common/time.c index fa1c62f05515..8fc29982d700 100644 --- a/arch/mips/au1000/common/time.c +++ b/arch/mips/au1000/common/time.c | |||
@@ -203,11 +203,7 @@ wakeup_counter0_set(int ticks) | |||
203 | /* I haven't found anyone that doesn't use a 12 MHz source clock, | 203 | /* I haven't found anyone that doesn't use a 12 MHz source clock, |
204 | * but just in case..... | 204 | * but just in case..... |
205 | */ | 205 | */ |
206 | #ifdef CONFIG_AU1000_SRC_CLK | ||
207 | #define AU1000_SRC_CLK CONFIG_AU1000_SRC_CLK | ||
208 | #else | ||
209 | #define AU1000_SRC_CLK 12000000 | 206 | #define AU1000_SRC_CLK 12000000 |
210 | #endif | ||
211 | 207 | ||
212 | /* | 208 | /* |
213 | * We read the real processor speed from the PLL. This is important | 209 | * We read the real processor speed from the PLL. This is important |
@@ -247,33 +243,8 @@ unsigned long cal_r4koff(void) | |||
247 | au_writel (0, SYS_TOYWRITE); | 243 | au_writel (0, SYS_TOYWRITE); |
248 | while (au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_C1S); | 244 | while (au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_C1S); |
249 | 245 | ||
250 | #if defined(CONFIG_AU1000_USE32K) | ||
251 | { | ||
252 | unsigned long start, end, count; | ||
253 | |||
254 | start = au_readl(SYS_RTCREAD); | ||
255 | start += 2; | ||
256 | /* wait for the beginning of a new tick | ||
257 | */ | ||
258 | while (au_readl(SYS_RTCREAD) < start); | ||
259 | |||
260 | /* Start r4k counter. | ||
261 | */ | ||
262 | write_c0_count(0); | ||
263 | |||
264 | /* Wait 0.5 seconds. | ||
265 | */ | ||
266 | end = start + (32768 / trim_divide)/2; | ||
267 | |||
268 | while (end > au_readl(SYS_RTCREAD)); | ||
269 | |||
270 | count = read_c0_count(); | ||
271 | cpu_speed = count * 2; | ||
272 | } | ||
273 | #else | ||
274 | cpu_speed = (au_readl(SYS_CPUPLL) & 0x0000003f) * | 246 | cpu_speed = (au_readl(SYS_CPUPLL) & 0x0000003f) * |
275 | AU1000_SRC_CLK; | 247 | AU1000_SRC_CLK; |
276 | #endif | ||
277 | } | 248 | } |
278 | else { | 249 | else { |
279 | /* The 32KHz oscillator isn't running, so assume there | 250 | /* The 32KHz oscillator isn't running, so assume there |
diff --git a/arch/mips/au1000/pb1200/board_setup.c b/arch/mips/au1000/pb1200/board_setup.c index 043302b7fe58..eea2092bde8d 100644 --- a/arch/mips/au1000/pb1200/board_setup.c +++ b/arch/mips/au1000/pb1200/board_setup.c | |||
@@ -131,14 +131,7 @@ void __init board_setup(void) | |||
131 | /* The Pb1200 development board uses external MUX for PSC0 to | 131 | /* The Pb1200 development board uses external MUX for PSC0 to |
132 | support SMB/SPI. bcsr->resets bit 12: 0=SMB 1=SPI | 132 | support SMB/SPI. bcsr->resets bit 12: 0=SMB 1=SPI |
133 | */ | 133 | */ |
134 | #if defined(CONFIG_AU1XXX_PSC_SPI) && defined(CONFIG_I2C_AU1550) | 134 | #ifdef CONFIG_I2C_AU1550 |
135 | #error I2C and SPI are mutually exclusive. Both are physically connected to PSC0.\ | ||
136 | Refer to Pb1200/Db1200 documentation. | ||
137 | #elif defined( CONFIG_AU1XXX_PSC_SPI ) | ||
138 | bcsr->resets |= BCSR_RESETS_PCS0MUX; | ||
139 | /*Hard Coding Value to enable Temp Sensors [bit 14] Value for SOC Au1200. Pls refer documentation*/ | ||
140 | bcsr->resets =0x900f; | ||
141 | #elif defined( CONFIG_I2C_AU1550 ) | ||
142 | bcsr->resets &= (~BCSR_RESETS_PCS0MUX); | 135 | bcsr->resets &= (~BCSR_RESETS_PCS0MUX); |
143 | #endif | 136 | #endif |
144 | au_sync(); | 137 | au_sync(); |
diff --git a/arch/mips/kernel/branch.c b/arch/mips/kernel/branch.c index 76fd3f22c766..6b5df8bfab85 100644 --- a/arch/mips/kernel/branch.c +++ b/arch/mips/kernel/branch.c | |||
@@ -22,7 +22,8 @@ | |||
22 | */ | 22 | */ |
23 | int __compute_return_epc(struct pt_regs *regs) | 23 | int __compute_return_epc(struct pt_regs *regs) |
24 | { | 24 | { |
25 | unsigned int *addr, bit, fcr31, dspcontrol; | 25 | unsigned int __user *addr; |
26 | unsigned int bit, fcr31, dspcontrol; | ||
26 | long epc; | 27 | long epc; |
27 | union mips_instruction insn; | 28 | union mips_instruction insn; |
28 | 29 | ||
@@ -33,7 +34,7 @@ int __compute_return_epc(struct pt_regs *regs) | |||
33 | /* | 34 | /* |
34 | * Read the instruction | 35 | * Read the instruction |
35 | */ | 36 | */ |
36 | addr = (unsigned int *) epc; | 37 | addr = (unsigned int __user *) epc; |
37 | if (__get_user(insn.word, addr)) { | 38 | if (__get_user(insn.word, addr)) { |
38 | force_sig(SIGSEGV, current); | 39 | force_sig(SIGSEGV, current); |
39 | return -EFAULT; | 40 | return -EFAULT; |
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index 5e9fa83c4ef0..37c562c4c817 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c | |||
@@ -131,7 +131,7 @@ static void show_stacktrace(struct task_struct *task, struct pt_regs *regs) | |||
131 | const int field = 2 * sizeof(unsigned long); | 131 | const int field = 2 * sizeof(unsigned long); |
132 | long stackdata; | 132 | long stackdata; |
133 | int i; | 133 | int i; |
134 | unsigned long *sp = (unsigned long *)regs->regs[29]; | 134 | unsigned long __user *sp = (unsigned long __user *)regs->regs[29]; |
135 | 135 | ||
136 | printk("Stack :"); | 136 | printk("Stack :"); |
137 | i = 0; | 137 | i = 0; |
@@ -187,7 +187,7 @@ void dump_stack(void) | |||
187 | 187 | ||
188 | EXPORT_SYMBOL(dump_stack); | 188 | EXPORT_SYMBOL(dump_stack); |
189 | 189 | ||
190 | void show_code(unsigned int *pc) | 190 | static void show_code(unsigned int __user *pc) |
191 | { | 191 | { |
192 | long i; | 192 | long i; |
193 | 193 | ||
@@ -305,7 +305,7 @@ void show_registers(struct pt_regs *regs) | |||
305 | printk("Process %s (pid: %d, threadinfo=%p, task=%p)\n", | 305 | printk("Process %s (pid: %d, threadinfo=%p, task=%p)\n", |
306 | current->comm, current->pid, current_thread_info(), current); | 306 | current->comm, current->pid, current_thread_info(), current); |
307 | show_stacktrace(current, regs); | 307 | show_stacktrace(current, regs); |
308 | show_code((unsigned int *) regs->cp0_epc); | 308 | show_code((unsigned int __user *) regs->cp0_epc); |
309 | printk("\n"); | 309 | printk("\n"); |
310 | } | 310 | } |
311 | 311 | ||
@@ -865,7 +865,7 @@ asmlinkage void do_mcheck(struct pt_regs *regs) | |||
865 | dump_tlb_all(); | 865 | dump_tlb_all(); |
866 | } | 866 | } |
867 | 867 | ||
868 | show_code((unsigned int *) regs->cp0_epc); | 868 | show_code((unsigned int __user *) regs->cp0_epc); |
869 | 869 | ||
870 | /* | 870 | /* |
871 | * Some chips may have other causes of machine check (e.g. SB1 | 871 | * Some chips may have other causes of machine check (e.g. SB1 |
diff --git a/arch/mips/math-emu/cp1emu.c b/arch/mips/math-emu/cp1emu.c index d7f05b0abe17..17419e11ecad 100644 --- a/arch/mips/math-emu/cp1emu.c +++ b/arch/mips/math-emu/cp1emu.c | |||
@@ -205,7 +205,7 @@ static int isBranchInstr(mips_instruction * i) | |||
205 | static int cop1Emulate(struct pt_regs *xcp, struct mips_fpu_struct *ctx) | 205 | static int cop1Emulate(struct pt_regs *xcp, struct mips_fpu_struct *ctx) |
206 | { | 206 | { |
207 | mips_instruction ir; | 207 | mips_instruction ir; |
208 | void * emulpc, *contpc; | 208 | unsigned long emulpc, contpc; |
209 | unsigned int cond; | 209 | unsigned int cond; |
210 | 210 | ||
211 | if (get_user(ir, (mips_instruction __user *) xcp->cp0_epc)) { | 211 | if (get_user(ir, (mips_instruction __user *) xcp->cp0_epc)) { |
@@ -230,7 +230,7 @@ static int cop1Emulate(struct pt_regs *xcp, struct mips_fpu_struct *ctx) | |||
230 | * Linux MIPS branch emulator operates on context, updating the | 230 | * Linux MIPS branch emulator operates on context, updating the |
231 | * cp0_epc. | 231 | * cp0_epc. |
232 | */ | 232 | */ |
233 | emulpc = (void *) (xcp->cp0_epc + 4); /* Snapshot emulation target */ | 233 | emulpc = xcp->cp0_epc + 4; /* Snapshot emulation target */ |
234 | 234 | ||
235 | if (__compute_return_epc(xcp)) { | 235 | if (__compute_return_epc(xcp)) { |
236 | #ifdef CP1DBG | 236 | #ifdef CP1DBG |
@@ -244,12 +244,12 @@ static int cop1Emulate(struct pt_regs *xcp, struct mips_fpu_struct *ctx) | |||
244 | return SIGBUS; | 244 | return SIGBUS; |
245 | } | 245 | } |
246 | /* __compute_return_epc() will have updated cp0_epc */ | 246 | /* __compute_return_epc() will have updated cp0_epc */ |
247 | contpc = (void *) xcp->cp0_epc; | 247 | contpc = xcp->cp0_epc; |
248 | /* In order not to confuse ptrace() et al, tweak context */ | 248 | /* In order not to confuse ptrace() et al, tweak context */ |
249 | xcp->cp0_epc = (unsigned long) emulpc - 4; | 249 | xcp->cp0_epc = emulpc - 4; |
250 | } else { | 250 | } else { |
251 | emulpc = (void *) xcp->cp0_epc; | 251 | emulpc = xcp->cp0_epc; |
252 | contpc = (void *) (xcp->cp0_epc + 4); | 252 | contpc = xcp->cp0_epc + 4; |
253 | } | 253 | } |
254 | 254 | ||
255 | emul: | 255 | emul: |
@@ -427,8 +427,7 @@ static int cop1Emulate(struct pt_regs *xcp, struct mips_fpu_struct *ctx) | |||
427 | * instruction | 427 | * instruction |
428 | */ | 428 | */ |
429 | xcp->cp0_epc += 4; | 429 | xcp->cp0_epc += 4; |
430 | contpc = (void *) | 430 | contpc = (xcp->cp0_epc + |
431 | (xcp->cp0_epc + | ||
432 | (MIPSInst_SIMM(ir) << 2)); | 431 | (MIPSInst_SIMM(ir) << 2)); |
433 | 432 | ||
434 | if (get_user(ir, | 433 | if (get_user(ir, |
@@ -462,7 +461,7 @@ static int cop1Emulate(struct pt_regs *xcp, struct mips_fpu_struct *ctx) | |||
462 | * Single step the non-cp1 | 461 | * Single step the non-cp1 |
463 | * instruction in the dslot | 462 | * instruction in the dslot |
464 | */ | 463 | */ |
465 | return mips_dsemul(xcp, ir, (unsigned long) contpc); | 464 | return mips_dsemul(xcp, ir, contpc); |
466 | } | 465 | } |
467 | else { | 466 | else { |
468 | /* branch not taken */ | 467 | /* branch not taken */ |
@@ -521,7 +520,7 @@ static int cop1Emulate(struct pt_regs *xcp, struct mips_fpu_struct *ctx) | |||
521 | } | 520 | } |
522 | 521 | ||
523 | /* we did it !! */ | 522 | /* we did it !! */ |
524 | xcp->cp0_epc = (unsigned long) contpc; | 523 | xcp->cp0_epc = contpc; |
525 | xcp->cp0_cause &= ~CAUSEF_BD; | 524 | xcp->cp0_cause &= ~CAUSEF_BD; |
526 | 525 | ||
527 | return 0; | 526 | return 0; |
diff --git a/arch/mips/math-emu/dsemul.c b/arch/mips/math-emu/dsemul.c index ea6ba7248489..653e325849e4 100644 --- a/arch/mips/math-emu/dsemul.c +++ b/arch/mips/math-emu/dsemul.c | |||
@@ -54,8 +54,7 @@ struct emuframe { | |||
54 | int mips_dsemul(struct pt_regs *regs, mips_instruction ir, unsigned long cpc) | 54 | int mips_dsemul(struct pt_regs *regs, mips_instruction ir, unsigned long cpc) |
55 | { | 55 | { |
56 | extern asmlinkage void handle_dsemulret(void); | 56 | extern asmlinkage void handle_dsemulret(void); |
57 | mips_instruction *dsemul_insns; | 57 | struct emuframe __user *fr; |
58 | struct emuframe *fr; | ||
59 | int err; | 58 | int err; |
60 | 59 | ||
61 | if (ir == 0) { /* a nop is easy */ | 60 | if (ir == 0) { /* a nop is easy */ |
@@ -87,8 +86,8 @@ int mips_dsemul(struct pt_regs *regs, mips_instruction ir, unsigned long cpc) | |||
87 | */ | 86 | */ |
88 | 87 | ||
89 | /* Ensure that the two instructions are in the same cache line */ | 88 | /* Ensure that the two instructions are in the same cache line */ |
90 | dsemul_insns = (mips_instruction *) ((regs->regs[29] - sizeof(struct emuframe)) & ~0x7); | 89 | fr = (struct emuframe __user *) |
91 | fr = (struct emuframe *) dsemul_insns; | 90 | ((regs->regs[29] - sizeof(struct emuframe)) & ~0x7); |
92 | 91 | ||
93 | /* Verify that the stack pointer is not competely insane */ | 92 | /* Verify that the stack pointer is not competely insane */ |
94 | if (unlikely(!access_ok(VERIFY_WRITE, fr, sizeof(struct emuframe)))) | 93 | if (unlikely(!access_ok(VERIFY_WRITE, fr, sizeof(struct emuframe)))) |
@@ -113,12 +112,13 @@ int mips_dsemul(struct pt_regs *regs, mips_instruction ir, unsigned long cpc) | |||
113 | 112 | ||
114 | int do_dsemulret(struct pt_regs *xcp) | 113 | int do_dsemulret(struct pt_regs *xcp) |
115 | { | 114 | { |
116 | struct emuframe *fr; | 115 | struct emuframe __user *fr; |
117 | unsigned long epc; | 116 | unsigned long epc; |
118 | u32 insn, cookie; | 117 | u32 insn, cookie; |
119 | int err = 0; | 118 | int err = 0; |
120 | 119 | ||
121 | fr = (struct emuframe *) (xcp->cp0_epc - sizeof(mips_instruction)); | 120 | fr = (struct emuframe __user *) |
121 | (xcp->cp0_epc - sizeof(mips_instruction)); | ||
122 | 122 | ||
123 | /* | 123 | /* |
124 | * If we can't even access the area, something is very wrong, but we'll | 124 | * If we can't even access the area, something is very wrong, but we'll |
diff --git a/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_setup.c b/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_setup.c index a0c11efeaeeb..40c7c3eeafaf 100644 --- a/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_setup.c +++ b/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_setup.c | |||
@@ -138,7 +138,6 @@ extern void toshiba_rbtx4927_irq_setup(void); | |||
138 | char *prom_getcmdline(void); | 138 | char *prom_getcmdline(void); |
139 | 139 | ||
140 | #ifdef CONFIG_PCI | 140 | #ifdef CONFIG_PCI |
141 | #define CONFIG_TX4927BUG_WORKAROUND | ||
142 | #undef TX4927_SUPPORT_COMMAND_IO | 141 | #undef TX4927_SUPPORT_COMMAND_IO |
143 | #undef TX4927_SUPPORT_PCI_66 | 142 | #undef TX4927_SUPPORT_PCI_66 |
144 | int tx4927_cpu_clock = 100000000; /* 100MHz */ | 143 | int tx4927_cpu_clock = 100000000; /* 100MHz */ |
@@ -669,15 +668,7 @@ void tx4927_pci_setup(void) | |||
669 | 668 | ||
670 | /* PCI->GB mappings (MEM 16MB) -not used */ | 669 | /* PCI->GB mappings (MEM 16MB) -not used */ |
671 | tx4927_pcicptr->p2gm1plbase = 0xffffffff; | 670 | tx4927_pcicptr->p2gm1plbase = 0xffffffff; |
672 | #ifdef CONFIG_TX4927BUG_WORKAROUND | ||
673 | /* | ||
674 | * TX4927-PCIC-BUG: P2GM1PUBASE must be 0 | ||
675 | * if P2GM0PUBASE was 0. | ||
676 | */ | ||
677 | tx4927_pcicptr->p2gm1pubase = 0; | ||
678 | #else | ||
679 | tx4927_pcicptr->p2gm1pubase = 0xffffffff; | 671 | tx4927_pcicptr->p2gm1pubase = 0xffffffff; |
680 | #endif | ||
681 | tx4927_pcicptr->p2gmgbase[1] = 0; | 672 | tx4927_pcicptr->p2gmgbase[1] = 0; |
682 | 673 | ||
683 | /* PCI->GB mappings (MEM 1MB) -not used */ | 674 | /* PCI->GB mappings (MEM 1MB) -not used */ |
@@ -910,16 +901,6 @@ void __init toshiba_rbtx4927_setup(void) | |||
910 | if (tx4927_ccfg_toeon) | 901 | if (tx4927_ccfg_toeon) |
911 | tx4927_ccfgptr->ccfg |= TX4927_CCFG_TOE; | 902 | tx4927_ccfgptr->ccfg |= TX4927_CCFG_TOE; |
912 | 903 | ||
913 | /* SDRAMC fixup */ | ||
914 | #ifdef CONFIG_TX4927BUG_WORKAROUND | ||
915 | /* | ||
916 | * TX4927-BUG: INF 01-01-18/ BUG 01-01-22 | ||
917 | * G-bus timeout error detection is incorrect | ||
918 | */ | ||
919 | if (tx4927_ccfg_toeon) | ||
920 | tx4927_sdramcptr->tr |= 0x02000000; /* RCD:3tck */ | ||
921 | #endif | ||
922 | |||
923 | tx4927_pci_setup(); | 904 | tx4927_pci_setup(); |
924 | if (tx4927_using_backplane == 1) | 905 | if (tx4927_using_backplane == 1) |
925 | printk("backplane board IS installed\n"); | 906 | printk("backplane board IS installed\n"); |
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig index a31c6d2c061f..f6648682b43a 100644 --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig | |||
@@ -374,20 +374,6 @@ config ISTALLION | |||
374 | To compile this driver as a module, choose M here: the | 374 | To compile this driver as a module, choose M here: the |
375 | module will be called istallion. | 375 | module will be called istallion. |
376 | 376 | ||
377 | config AU1000_UART | ||
378 | bool "Enable Au1000 UART Support" | ||
379 | depends on SERIAL_NONSTANDARD && MIPS | ||
380 | help | ||
381 | If you have an Alchemy AU1000 processor (MIPS based) and you want | ||
382 | to use serial ports, say Y. Otherwise, say N. | ||
383 | |||
384 | config AU1000_SERIAL_CONSOLE | ||
385 | bool "Enable Au1000 serial console" | ||
386 | depends on AU1000_UART | ||
387 | help | ||
388 | If you have an Alchemy AU1000 processor (MIPS based) and you want | ||
389 | to use a console on a serial port, say Y. Otherwise, say N. | ||
390 | |||
391 | config SERIAL_DEC | 377 | config SERIAL_DEC |
392 | bool "DECstation serial support" | 378 | bool "DECstation serial support" |
393 | depends on MACH_DECSTATION | 379 | depends on MACH_DECSTATION |
diff --git a/include/asm-mips/compat.h b/include/asm-mips/compat.h index 432653d7ae09..67c3f8ec0303 100644 --- a/include/asm-mips/compat.h +++ b/include/asm-mips/compat.h | |||
@@ -132,7 +132,8 @@ typedef u32 compat_uptr_t; | |||
132 | 132 | ||
133 | static inline void __user *compat_ptr(compat_uptr_t uptr) | 133 | static inline void __user *compat_ptr(compat_uptr_t uptr) |
134 | { | 134 | { |
135 | return (void __user *)(long)uptr; | 135 | /* cast to a __user pointer via "unsigned long" makes sparse happy */ |
136 | return (void __user *)(unsigned long)(long)uptr; | ||
136 | } | 137 | } |
137 | 138 | ||
138 | static inline compat_uptr_t ptr_to_compat(void __user *uptr) | 139 | static inline compat_uptr_t ptr_to_compat(void __user *uptr) |
diff --git a/include/asm-mips/mach-tx49xx/ioremap.h b/include/asm-mips/mach-tx49xx/ioremap.h index 88cf546719b8..1e7beae72229 100644 --- a/include/asm-mips/mach-tx49xx/ioremap.h +++ b/include/asm-mips/mach-tx49xx/ioremap.h | |||
@@ -36,7 +36,8 @@ static inline void __iomem *plat_ioremap(phys_t offset, unsigned long size, | |||
36 | 36 | ||
37 | static inline int plat_iounmap(const volatile void __iomem *addr) | 37 | static inline int plat_iounmap(const volatile void __iomem *addr) |
38 | { | 38 | { |
39 | return (unsigned long)addr >= (unsigned long)(int)TXX9_DIRECTMAP_BASE; | 39 | return (unsigned long)addr >= |
40 | (unsigned long)(int)(TXX9_DIRECTMAP_BASE & 0xffffffff); | ||
40 | } | 41 | } |
41 | 42 | ||
42 | #endif /* __ASM_MACH_TX49XX_IOREMAP_H */ | 43 | #endif /* __ASM_MACH_TX49XX_IOREMAP_H */ |
diff --git a/include/linux/topology.h b/include/linux/topology.h index da6c39b2d051..d0890a7e5bab 100644 --- a/include/linux/topology.h +++ b/include/linux/topology.h | |||
@@ -50,10 +50,10 @@ | |||
50 | for_each_online_node(node) \ | 50 | for_each_online_node(node) \ |
51 | if (nr_cpus_node(node)) | 51 | if (nr_cpus_node(node)) |
52 | 52 | ||
53 | #ifndef node_distance | ||
54 | /* Conform to ACPI 2.0 SLIT distance definitions */ | 53 | /* Conform to ACPI 2.0 SLIT distance definitions */ |
55 | #define LOCAL_DISTANCE 10 | 54 | #define LOCAL_DISTANCE 10 |
56 | #define REMOTE_DISTANCE 20 | 55 | #define REMOTE_DISTANCE 20 |
56 | #ifndef node_distance | ||
57 | #define node_distance(from,to) ((from) == (to) ? LOCAL_DISTANCE : REMOTE_DISTANCE) | 57 | #define node_distance(from,to) ((from) == (to) ? LOCAL_DISTANCE : REMOTE_DISTANCE) |
58 | #endif | 58 | #endif |
59 | #ifndef RECLAIM_DISTANCE | 59 | #ifndef RECLAIM_DISTANCE |
diff --git a/kernel/sched.c b/kernel/sched.c index 9fbced64bfee..0559665a3a0b 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
@@ -751,7 +751,7 @@ static const u32 prio_to_wmult[40] = { | |||
751 | 184467, 230589, 288233, 360285, 450347, | 751 | 184467, 230589, 288233, 360285, 450347, |
752 | 562979, 703746, 879575, 1099582, 1374389, | 752 | 562979, 703746, 879575, 1099582, 1374389, |
753 | 717986, 2147483, 2684354, 3355443, 4194304, | 753 | 717986, 2147483, 2684354, 3355443, 4194304, |
754 | 244160, 6557201, 8196502, 10250518, 12782640, | 754 | 5244160, 6557201, 8196502, 10250518, 12782640, |
755 | 16025997, 19976592, 24970740, 31350126, 39045157, | 755 | 16025997, 19976592, 24970740, 31350126, 39045157, |
756 | 49367440, 61356675, 76695844, 95443717, 119304647, | 756 | 49367440, 61356675, 76695844, 95443717, 119304647, |
757 | 148102320, 186737708, 238609294, 286331153, | 757 | 148102320, 186737708, 238609294, 286331153, |
@@ -4647,14 +4647,14 @@ static void show_task(struct task_struct *p) | |||
4647 | state = p->state ? __ffs(p->state) + 1 : 0; | 4647 | state = p->state ? __ffs(p->state) + 1 : 0; |
4648 | printk("%-13.13s %c", p->comm, | 4648 | printk("%-13.13s %c", p->comm, |
4649 | state < sizeof(stat_nam) - 1 ? stat_nam[state] : '?'); | 4649 | state < sizeof(stat_nam) - 1 ? stat_nam[state] : '?'); |
4650 | #if (BITS_PER_LONG == 32) | 4650 | #if BITS_PER_LONG == 32 |
4651 | if (state == TASK_RUNNING) | 4651 | if (state == TASK_RUNNING) |
4652 | printk(" running "); | 4652 | printk(" running "); |
4653 | else | 4653 | else |
4654 | printk(" %08lX ", thread_saved_pc(p)); | 4654 | printk(" %08lx ", thread_saved_pc(p)); |
4655 | #else | 4655 | #else |
4656 | if (state == TASK_RUNNING) | 4656 | if (state == TASK_RUNNING) |
4657 | printk(" running task "); | 4657 | printk(" running task "); |
4658 | else | 4658 | else |
4659 | printk(" %016lx ", thread_saved_pc(p)); | 4659 | printk(" %016lx ", thread_saved_pc(p)); |
4660 | #endif | 4660 | #endif |
@@ -4666,11 +4666,7 @@ static void show_task(struct task_struct *p) | |||
4666 | free = (unsigned long)n - (unsigned long)end_of_stack(p); | 4666 | free = (unsigned long)n - (unsigned long)end_of_stack(p); |
4667 | } | 4667 | } |
4668 | #endif | 4668 | #endif |
4669 | printk("%5lu %5d %6d", free, p->pid, p->parent->pid); | 4669 | printk("%5lu %5d %6d\n", free, p->pid, p->parent->pid); |
4670 | if (!p->mm) | ||
4671 | printk(" (L-TLB)\n"); | ||
4672 | else | ||
4673 | printk(" (NOTLB)\n"); | ||
4674 | 4670 | ||
4675 | if (state != TASK_RUNNING) | 4671 | if (state != TASK_RUNNING) |
4676 | show_stack(p, NULL); | 4672 | show_stack(p, NULL); |
@@ -4680,14 +4676,12 @@ void show_state_filter(unsigned long state_filter) | |||
4680 | { | 4676 | { |
4681 | struct task_struct *g, *p; | 4677 | struct task_struct *g, *p; |
4682 | 4678 | ||
4683 | #if (BITS_PER_LONG == 32) | 4679 | #if BITS_PER_LONG == 32 |
4684 | printk("\n" | 4680 | printk(KERN_INFO |
4685 | " free sibling\n"); | 4681 | " task PC stack pid father\n"); |
4686 | printk(" task PC stack pid father child younger older\n"); | ||
4687 | #else | 4682 | #else |
4688 | printk("\n" | 4683 | printk(KERN_INFO |
4689 | " free sibling\n"); | 4684 | " task PC stack pid father\n"); |
4690 | printk(" task PC stack pid father child younger older\n"); | ||
4691 | #endif | 4685 | #endif |
4692 | read_lock(&tasklist_lock); | 4686 | read_lock(&tasklist_lock); |
4693 | do_each_thread(g, p) { | 4687 | do_each_thread(g, p) { |
@@ -4778,7 +4772,7 @@ cpumask_t nohz_cpu_mask = CPU_MASK_NONE; | |||
4778 | static inline void sched_init_granularity(void) | 4772 | static inline void sched_init_granularity(void) |
4779 | { | 4773 | { |
4780 | unsigned int factor = 1 + ilog2(num_online_cpus()); | 4774 | unsigned int factor = 1 + ilog2(num_online_cpus()); |
4781 | const unsigned long gran_limit = 10000000; | 4775 | const unsigned long gran_limit = 100000000; |
4782 | 4776 | ||
4783 | sysctl_sched_granularity *= factor; | 4777 | sysctl_sched_granularity *= factor; |
4784 | if (sysctl_sched_granularity > gran_limit) | 4778 | if (sysctl_sched_granularity > gran_limit) |
diff --git a/kernel/sched_debug.c b/kernel/sched_debug.c index 1baf87cceb7c..29f2c21e7da2 100644 --- a/kernel/sched_debug.c +++ b/kernel/sched_debug.c | |||
@@ -171,7 +171,7 @@ static int sched_debug_show(struct seq_file *m, void *v) | |||
171 | u64 now = ktime_to_ns(ktime_get()); | 171 | u64 now = ktime_to_ns(ktime_get()); |
172 | int cpu; | 172 | int cpu; |
173 | 173 | ||
174 | SEQ_printf(m, "Sched Debug Version: v0.04, cfs-v20, %s %.*s\n", | 174 | SEQ_printf(m, "Sched Debug Version: v0.05, %s %.*s\n", |
175 | init_utsname()->release, | 175 | init_utsname()->release, |
176 | (int)strcspn(init_utsname()->version, " "), | 176 | (int)strcspn(init_utsname()->version, " "), |
177 | init_utsname()->version); | 177 | init_utsname()->version); |