diff options
-rw-r--r-- | arch/ppc/kernel/misc.S | 128 | ||||
-rw-r--r-- | arch/ppc/kernel/ppc_ksyms.c | 10 | ||||
-rw-r--r-- | include/asm-ppc/hw_irq.h | 16 |
3 files changed, 0 insertions, 154 deletions
diff --git a/arch/ppc/kernel/misc.S b/arch/ppc/kernel/misc.S index 90d917d2e856..9d2cb79475c6 100644 --- a/arch/ppc/kernel/misc.S +++ b/arch/ppc/kernel/misc.S | |||
@@ -273,134 +273,6 @@ _GLOBAL(low_choose_7447a_dfs) | |||
273 | 273 | ||
274 | #endif /* CONFIG_CPU_FREQ_PMAC && CONFIG_6xx */ | 274 | #endif /* CONFIG_CPU_FREQ_PMAC && CONFIG_6xx */ |
275 | 275 | ||
276 | /* void local_save_flags_ptr(unsigned long *flags) */ | ||
277 | _GLOBAL(local_save_flags_ptr) | ||
278 | mfmsr r4 | ||
279 | stw r4,0(r3) | ||
280 | blr | ||
281 | /* | ||
282 | * Need these nops here for taking over save/restore to | ||
283 | * handle lost intrs | ||
284 | * -- Cort | ||
285 | */ | ||
286 | nop | ||
287 | nop | ||
288 | nop | ||
289 | nop | ||
290 | nop | ||
291 | nop | ||
292 | nop | ||
293 | nop | ||
294 | nop | ||
295 | nop | ||
296 | nop | ||
297 | nop | ||
298 | nop | ||
299 | nop | ||
300 | nop | ||
301 | nop | ||
302 | nop | ||
303 | _GLOBAL(local_save_flags_ptr_end) | ||
304 | |||
305 | /* void local_irq_restore(unsigned long flags) */ | ||
306 | _GLOBAL(local_irq_restore) | ||
307 | /* | ||
308 | * Just set/clear the MSR_EE bit through restore/flags but do not | ||
309 | * change anything else. This is needed by the RT system and makes | ||
310 | * sense anyway. | ||
311 | * -- Cort | ||
312 | */ | ||
313 | mfmsr r4 | ||
314 | /* Copy all except the MSR_EE bit from r4 (current MSR value) | ||
315 | to r3. This is the sort of thing the rlwimi instruction is | ||
316 | designed for. -- paulus. */ | ||
317 | rlwimi r3,r4,0,17,15 | ||
318 | /* Check if things are setup the way we want _already_. */ | ||
319 | cmpw 0,r3,r4 | ||
320 | beqlr | ||
321 | 1: SYNC | ||
322 | mtmsr r3 | ||
323 | SYNC | ||
324 | blr | ||
325 | nop | ||
326 | nop | ||
327 | nop | ||
328 | nop | ||
329 | nop | ||
330 | nop | ||
331 | nop | ||
332 | nop | ||
333 | nop | ||
334 | nop | ||
335 | nop | ||
336 | nop | ||
337 | nop | ||
338 | nop | ||
339 | nop | ||
340 | nop | ||
341 | nop | ||
342 | nop | ||
343 | nop | ||
344 | _GLOBAL(local_irq_restore_end) | ||
345 | |||
346 | _GLOBAL(local_irq_disable) | ||
347 | mfmsr r0 /* Get current interrupt state */ | ||
348 | rlwinm r3,r0,16+1,32-1,31 /* Extract old value of 'EE' */ | ||
349 | rlwinm r0,r0,0,17,15 /* clear MSR_EE in r0 */ | ||
350 | SYNC /* Some chip revs have problems here... */ | ||
351 | mtmsr r0 /* Update machine state */ | ||
352 | blr /* Done */ | ||
353 | /* | ||
354 | * Need these nops here for taking over save/restore to | ||
355 | * handle lost intrs | ||
356 | * -- Cort | ||
357 | */ | ||
358 | nop | ||
359 | nop | ||
360 | nop | ||
361 | nop | ||
362 | nop | ||
363 | nop | ||
364 | nop | ||
365 | nop | ||
366 | nop | ||
367 | nop | ||
368 | nop | ||
369 | nop | ||
370 | nop | ||
371 | nop | ||
372 | nop | ||
373 | _GLOBAL(local_irq_disable_end) | ||
374 | |||
375 | _GLOBAL(local_irq_enable) | ||
376 | mfmsr r3 /* Get current state */ | ||
377 | ori r3,r3,MSR_EE /* Turn on 'EE' bit */ | ||
378 | SYNC /* Some chip revs have problems here... */ | ||
379 | mtmsr r3 /* Update machine state */ | ||
380 | blr | ||
381 | /* | ||
382 | * Need these nops here for taking over save/restore to | ||
383 | * handle lost intrs | ||
384 | * -- Cort | ||
385 | */ | ||
386 | nop | ||
387 | nop | ||
388 | nop | ||
389 | nop | ||
390 | nop | ||
391 | nop | ||
392 | nop | ||
393 | nop | ||
394 | nop | ||
395 | nop | ||
396 | nop | ||
397 | nop | ||
398 | nop | ||
399 | nop | ||
400 | nop | ||
401 | nop | ||
402 | _GLOBAL(local_irq_enable_end) | ||
403 | |||
404 | /* | 276 | /* |
405 | * complement mask on the msr then "or" some values on. | 277 | * complement mask on the msr then "or" some values on. |
406 | * _nmask_and_or_msr(nmask, value_to_or) | 278 | * _nmask_and_or_msr(nmask, value_to_or) |
diff --git a/arch/ppc/kernel/ppc_ksyms.c b/arch/ppc/kernel/ppc_ksyms.c index 88f6bb7b6964..1545621d44d2 100644 --- a/arch/ppc/kernel/ppc_ksyms.c +++ b/arch/ppc/kernel/ppc_ksyms.c | |||
@@ -272,16 +272,6 @@ EXPORT_SYMBOL(screen_info); | |||
272 | #endif | 272 | #endif |
273 | 273 | ||
274 | EXPORT_SYMBOL(__delay); | 274 | EXPORT_SYMBOL(__delay); |
275 | #ifndef INLINE_IRQS | ||
276 | EXPORT_SYMBOL(local_irq_enable); | ||
277 | EXPORT_SYMBOL(local_irq_enable_end); | ||
278 | EXPORT_SYMBOL(local_irq_disable); | ||
279 | EXPORT_SYMBOL(local_irq_disable_end); | ||
280 | EXPORT_SYMBOL(local_save_flags_ptr); | ||
281 | EXPORT_SYMBOL(local_save_flags_ptr_end); | ||
282 | EXPORT_SYMBOL(local_irq_restore); | ||
283 | EXPORT_SYMBOL(local_irq_restore_end); | ||
284 | #endif | ||
285 | EXPORT_SYMBOL(timer_interrupt); | 275 | EXPORT_SYMBOL(timer_interrupt); |
286 | EXPORT_SYMBOL(irq_desc); | 276 | EXPORT_SYMBOL(irq_desc); |
287 | EXPORT_SYMBOL(tb_ticks_per_jiffy); | 277 | EXPORT_SYMBOL(tb_ticks_per_jiffy); |
diff --git a/include/asm-ppc/hw_irq.h b/include/asm-ppc/hw_irq.h index 47dc7990fb26..51a1d7ef5253 100644 --- a/include/asm-ppc/hw_irq.h +++ b/include/asm-ppc/hw_irq.h | |||
@@ -10,12 +10,8 @@ | |||
10 | 10 | ||
11 | extern void timer_interrupt(struct pt_regs *); | 11 | extern void timer_interrupt(struct pt_regs *); |
12 | 12 | ||
13 | #define INLINE_IRQS | ||
14 | |||
15 | #define irqs_disabled() ((mfmsr() & MSR_EE) == 0) | 13 | #define irqs_disabled() ((mfmsr() & MSR_EE) == 0) |
16 | 14 | ||
17 | #ifdef INLINE_IRQS | ||
18 | |||
19 | static inline void local_irq_disable(void) | 15 | static inline void local_irq_disable(void) |
20 | { | 16 | { |
21 | unsigned long msr; | 17 | unsigned long msr; |
@@ -45,18 +41,6 @@ static inline void local_irq_save_ptr(unsigned long *flags) | |||
45 | #define local_irq_save(flags) local_irq_save_ptr(&flags) | 41 | #define local_irq_save(flags) local_irq_save_ptr(&flags) |
46 | #define local_irq_restore(flags) mtmsr(flags) | 42 | #define local_irq_restore(flags) mtmsr(flags) |
47 | 43 | ||
48 | #else | ||
49 | |||
50 | extern void local_irq_enable(void); | ||
51 | extern void local_irq_disable(void); | ||
52 | extern void local_irq_restore(unsigned long); | ||
53 | extern void local_save_flags_ptr(unsigned long *); | ||
54 | |||
55 | #define local_save_flags(flags) local_save_flags_ptr(&flags) | ||
56 | #define local_irq_save(flags) ({local_save_flags(flags);local_irq_disable();}) | ||
57 | |||
58 | #endif | ||
59 | |||
60 | extern void do_lost_interrupts(unsigned long); | 44 | extern void do_lost_interrupts(unsigned long); |
61 | 45 | ||
62 | #define mask_irq(irq) ({if (irq_desc[irq].handler && irq_desc[irq].handler->disable) irq_desc[irq].handler->disable(irq);}) | 46 | #define mask_irq(irq) ({if (irq_desc[irq].handler && irq_desc[irq].handler->disable) irq_desc[irq].handler->disable(irq);}) |