aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/exceptions-64s.S
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2012-02-29 18:52:01 -0500
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2012-03-08 18:55:00 -0500
commit7450f6f03e9d6dc95d2014c4cceac8adf98560e8 (patch)
treef3d7f8b2de2cb1fe3a7d4b683b944a9ad4040ea0 /arch/powerpc/kernel/exceptions-64s.S
parent4f8cf36f48b4648a5231e9fc8e49faea377246f4 (diff)
powerpc: Use the same interrupt prolog for perfmon as other interrupts
The perfmon interrupt is the sole user of a special variant of the interrupt prolog which differs from the one used by external and timer interrupts in that it saves the non-volatile GPRs and doesn't turn the runlatch on. The former is unnecessary and the later is arguably incorrect, so let's clean that up by using the same prolog. While at it we rename that prolog to use the _ASYNC prefix. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/exceptions-64s.S')
-rw-r--r--arch/powerpc/kernel/exceptions-64s.S6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
index fea8a69df4b2..2240d4ecec02 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -458,15 +458,15 @@ machine_check_common:
458 bl .machine_check_exception 458 bl .machine_check_exception
459 b .ret_from_except 459 b .ret_from_except
460 460
461 STD_EXCEPTION_COMMON_LITE(0x500, hardware_interrupt, do_IRQ) 461 STD_EXCEPTION_COMMON_ASYNC(0x500, hardware_interrupt, do_IRQ)
462 STD_EXCEPTION_COMMON_LITE(0x900, decrementer, .timer_interrupt) 462 STD_EXCEPTION_COMMON_ASYNC(0x900, decrementer, .timer_interrupt)
463 STD_EXCEPTION_COMMON(0xa00, trap_0a, .unknown_exception) 463 STD_EXCEPTION_COMMON(0xa00, trap_0a, .unknown_exception)
464 STD_EXCEPTION_COMMON(0xb00, trap_0b, .unknown_exception) 464 STD_EXCEPTION_COMMON(0xb00, trap_0b, .unknown_exception)
465 STD_EXCEPTION_COMMON(0xd00, single_step, .single_step_exception) 465 STD_EXCEPTION_COMMON(0xd00, single_step, .single_step_exception)
466 STD_EXCEPTION_COMMON(0xe00, trap_0e, .unknown_exception) 466 STD_EXCEPTION_COMMON(0xe00, trap_0e, .unknown_exception)
467 STD_EXCEPTION_COMMON(0xe40, emulation_assist, .program_check_exception) 467 STD_EXCEPTION_COMMON(0xe40, emulation_assist, .program_check_exception)
468 STD_EXCEPTION_COMMON(0xe60, hmi_exception, .unknown_exception) 468 STD_EXCEPTION_COMMON(0xe60, hmi_exception, .unknown_exception)
469 STD_EXCEPTION_COMMON_IDLE(0xf00, performance_monitor, .performance_monitor_exception) 469 STD_EXCEPTION_COMMON_ASYNC(0xf00, performance_monitor, .performance_monitor_exception)
470 STD_EXCEPTION_COMMON(0x1300, instruction_breakpoint, .instruction_breakpoint_exception) 470 STD_EXCEPTION_COMMON(0x1300, instruction_breakpoint, .instruction_breakpoint_exception)
471#ifdef CONFIG_ALTIVEC 471#ifdef CONFIG_ALTIVEC
472 STD_EXCEPTION_COMMON(0x1700, altivec_assist, .altivec_assist_exception) 472 STD_EXCEPTION_COMMON(0x1700, altivec_assist, .altivec_assist_exception)