aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2006-04-01 06:08:26 -0500
committerPaul Mackerras <paulus@samba.org>2006-04-01 06:08:26 -0500
commitf18dd516d433d0b740aa8365d706f5ad47603449 (patch)
tree0982ab6ddb1c7c01da258dfe9b294428c8231387 /arch/powerpc/kernel
parent683aa4012f53b2ada0f430487e05d37b0d94e90a (diff)
parent72d2c3e038fb4846e32cf3f6d66ebd1013329986 (diff)
Merge branch 'for_paulus' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/powerpc
Diffstat (limited to 'arch/powerpc/kernel')
-rw-r--r--arch/powerpc/kernel/setup_32.c6
-rw-r--r--arch/powerpc/kernel/traps.c9
2 files changed, 3 insertions, 12 deletions
diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c
index a72bf5dceeee..69ac25701344 100644
--- a/arch/powerpc/kernel/setup_32.c
+++ b/arch/powerpc/kernel/setup_32.c
@@ -50,7 +50,6 @@
50#include <asm/kgdb.h> 50#include <asm/kgdb.h>
51#endif 51#endif
52 52
53extern void platform_init(void);
54extern void bootx_init(unsigned long r4, unsigned long phys); 53extern void bootx_init(unsigned long r4, unsigned long phys);
55 54
56boot_infos_t *boot_infos; 55boot_infos_t *boot_infos;
@@ -138,12 +137,7 @@ void __init machine_init(unsigned long dt_ptr, unsigned long phys)
138 strlcpy(cmd_line, CONFIG_CMDLINE, sizeof(cmd_line)); 137 strlcpy(cmd_line, CONFIG_CMDLINE, sizeof(cmd_line));
139#endif /* CONFIG_CMDLINE */ 138#endif /* CONFIG_CMDLINE */
140 139
141#ifdef CONFIG_PPC_MULTIPLATFORM
142 probe_machine(); 140 probe_machine();
143#else
144 /* Base init based on machine type. Obsoloete, please kill ! */
145 platform_init();
146#endif
147 141
148#ifdef CONFIG_6xx 142#ifdef CONFIG_6xx
149 if (cpu_has_feature(CPU_FTR_CAN_DOZE) || 143 if (cpu_has_feature(CPU_FTR_CAN_DOZE) ||
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index 4cbde211eb69..064a52564692 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -228,7 +228,7 @@ void system_reset_exception(struct pt_regs *regs)
228 */ 228 */
229static inline int check_io_access(struct pt_regs *regs) 229static inline int check_io_access(struct pt_regs *regs)
230{ 230{
231#ifdef CONFIG_PPC_PMAC 231#if defined(CONFIG_PPC_PMAC) && defined(CONFIG_PPC32)
232 unsigned long msr = regs->msr; 232 unsigned long msr = regs->msr;
233 const struct exception_table_entry *entry; 233 const struct exception_table_entry *entry;
234 unsigned int *nip = (unsigned int *)regs->nip; 234 unsigned int *nip = (unsigned int *)regs->nip;
@@ -261,7 +261,7 @@ static inline int check_io_access(struct pt_regs *regs)
261 return 1; 261 return 1;
262 } 262 }
263 } 263 }
264#endif /* CONFIG_PPC_PMAC */ 264#endif /* CONFIG_PPC_PMAC && CONFIG_PPC32 */
265 return 0; 265 return 0;
266} 266}
267 267
@@ -308,8 +308,8 @@ platform_machine_check(struct pt_regs *regs)
308 308
309void machine_check_exception(struct pt_regs *regs) 309void machine_check_exception(struct pt_regs *regs)
310{ 310{
311#ifdef CONFIG_PPC64
312 int recover = 0; 311 int recover = 0;
312 unsigned long reason = get_mc_reason(regs);
313 313
314 /* See if any machine dependent calls */ 314 /* See if any machine dependent calls */
315 if (ppc_md.machine_check_exception) 315 if (ppc_md.machine_check_exception)
@@ -317,8 +317,6 @@ void machine_check_exception(struct pt_regs *regs)
317 317
318 if (recover) 318 if (recover)
319 return; 319 return;
320#else
321 unsigned long reason = get_mc_reason(regs);
322 320
323 if (user_mode(regs)) { 321 if (user_mode(regs)) {
324 regs->msr |= MSR_RI; 322 regs->msr |= MSR_RI;
@@ -462,7 +460,6 @@ void machine_check_exception(struct pt_regs *regs)
462 * additional info, e.g. bus error registers. 460 * additional info, e.g. bus error registers.
463 */ 461 */
464 platform_machine_check(regs); 462 platform_machine_check(regs);
465#endif /* CONFIG_PPC64 */
466 463
467 if (debugger_fault_handler(regs)) 464 if (debugger_fault_handler(regs))
468 return; 465 return;