diff options
author | Scott Wood <scottwood@freescale.com> | 2014-01-23 23:43:55 -0500 |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2014-03-19 20:57:12 -0400 |
commit | c4787d1ecfefce86971c1360ed5cef36af6182db (patch) | |
tree | 4510a736d20aef2dadc7258ae93e73bf3c5e763d | |
parent | 19007b340d4ee2957938b29d63c2077ce1368ec8 (diff) |
powerpc/booke64: Fix exception numbers
altivec_unavailable was commented as 0xf20 but the code uses 0x200.
Note that 0xf20 is also used by ap_unavailable.
altivec_assist was commented as 0x1700 but the code uses 0x220.
critical_input was commented as 0x580 but the code uses 0x100.
machine_check was commented and implemented as 0x200, which conflicts
with altivec_assist (it only builds because MC_EXCEPTION_PROLOG is
commented out). Changed to the fixed IVOR value of 0x000.
Signed-off-by: Scott Wood <scottwood@freescale.com>
-rw-r--r-- | arch/powerpc/kernel/exceptions-64e.S | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/powerpc/kernel/exceptions-64e.S b/arch/powerpc/kernel/exceptions-64e.S index 6772512bd0bd..41380a424108 100644 --- a/arch/powerpc/kernel/exceptions-64e.S +++ b/arch/powerpc/kernel/exceptions-64e.S | |||
@@ -299,8 +299,8 @@ exception_marker: | |||
299 | .balign 0x1000 | 299 | .balign 0x1000 |
300 | .globl interrupt_base_book3e | 300 | .globl interrupt_base_book3e |
301 | interrupt_base_book3e: /* fake trap */ | 301 | interrupt_base_book3e: /* fake trap */ |
302 | EXCEPTION_STUB(0x000, machine_check) /* 0x0200 */ | 302 | EXCEPTION_STUB(0x000, machine_check) |
303 | EXCEPTION_STUB(0x020, critical_input) /* 0x0580 */ | 303 | EXCEPTION_STUB(0x020, critical_input) /* 0x0100 */ |
304 | EXCEPTION_STUB(0x040, debug_crit) /* 0x0d00 */ | 304 | EXCEPTION_STUB(0x040, debug_crit) /* 0x0d00 */ |
305 | EXCEPTION_STUB(0x060, data_storage) /* 0x0300 */ | 305 | EXCEPTION_STUB(0x060, data_storage) /* 0x0300 */ |
306 | EXCEPTION_STUB(0x080, instruction_storage) /* 0x0400 */ | 306 | EXCEPTION_STUB(0x080, instruction_storage) /* 0x0400 */ |
@@ -315,8 +315,8 @@ interrupt_base_book3e: /* fake trap */ | |||
315 | EXCEPTION_STUB(0x1a0, watchdog) /* 0x09f0 */ | 315 | EXCEPTION_STUB(0x1a0, watchdog) /* 0x09f0 */ |
316 | EXCEPTION_STUB(0x1c0, data_tlb_miss) | 316 | EXCEPTION_STUB(0x1c0, data_tlb_miss) |
317 | EXCEPTION_STUB(0x1e0, instruction_tlb_miss) | 317 | EXCEPTION_STUB(0x1e0, instruction_tlb_miss) |
318 | EXCEPTION_STUB(0x200, altivec_unavailable) /* 0x0f20 */ | 318 | EXCEPTION_STUB(0x200, altivec_unavailable) |
319 | EXCEPTION_STUB(0x220, altivec_assist) /* 0x1700 */ | 319 | EXCEPTION_STUB(0x220, altivec_assist) |
320 | EXCEPTION_STUB(0x260, perfmon) | 320 | EXCEPTION_STUB(0x260, perfmon) |
321 | EXCEPTION_STUB(0x280, doorbell) | 321 | EXCEPTION_STUB(0x280, doorbell) |
322 | EXCEPTION_STUB(0x2a0, doorbell_crit) | 322 | EXCEPTION_STUB(0x2a0, doorbell_crit) |
@@ -343,9 +343,9 @@ interrupt_end_book3e: | |||
343 | 343 | ||
344 | /* Machine Check Interrupt */ | 344 | /* Machine Check Interrupt */ |
345 | START_EXCEPTION(machine_check); | 345 | START_EXCEPTION(machine_check); |
346 | MC_EXCEPTION_PROLOG(0x200, BOOKE_INTERRUPT_MACHINE_CHECK, | 346 | MC_EXCEPTION_PROLOG(0x000, BOOKE_INTERRUPT_MACHINE_CHECK, |
347 | PROLOG_ADDITION_NONE) | 347 | PROLOG_ADDITION_NONE) |
348 | // EXCEPTION_COMMON(0x200, PACA_EXMC, INTS_DISABLE) | 348 | // EXCEPTION_COMMON(0x000, PACA_EXMC, INTS_DISABLE) |
349 | // bl special_reg_save_mc | 349 | // bl special_reg_save_mc |
350 | // addi r3,r1,STACK_FRAME_OVERHEAD | 350 | // addi r3,r1,STACK_FRAME_OVERHEAD |
351 | // CHECK_NAPPING(); | 351 | // CHECK_NAPPING(); |