diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2005-10-01 04:43:42 -0400 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2005-10-01 04:43:42 -0400 |
commit | dc1c1ca3dcd94c545c5e01d7c06b46824d43f4d0 (patch) | |
tree | fa088ac3eae8709dd379deda6f31d5b29197d4c9 /arch/powerpc/kernel/head.S | |
parent | d96024c688b59d4d1e60dbb0e226964eb758aa01 (diff) |
powerpc: merge idle_power4.S and trapc.s
Use idle_power4.S from ppc64 as we are not going to support
32 bit power4 in the merged tree.
Merge ppc64 traps.c into powerpc traps.c:
use ppc64 versions of exception routine names
(as they don't have StudlyCaps)
make all the versions if die() have the same
prototype
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Diffstat (limited to 'arch/powerpc/kernel/head.S')
-rw-r--r-- | arch/powerpc/kernel/head.S | 84 |
1 files changed, 42 insertions, 42 deletions
diff --git a/arch/powerpc/kernel/head.S b/arch/powerpc/kernel/head.S index 8cdac7385e7f..2c3a1d34e3c7 100644 --- a/arch/powerpc/kernel/head.S +++ b/arch/powerpc/kernel/head.S | |||
@@ -349,12 +349,12 @@ i##n: \ | |||
349 | 349 | ||
350 | /* System reset */ | 350 | /* System reset */ |
351 | /* core99 pmac starts the seconary here by changing the vector, and | 351 | /* core99 pmac starts the seconary here by changing the vector, and |
352 | putting it back to what it was (UnknownException) when done. */ | 352 | putting it back to what it was (unknown_exception) when done. */ |
353 | #if defined(CONFIG_GEMINI) && defined(CONFIG_SMP) | 353 | #if defined(CONFIG_GEMINI) && defined(CONFIG_SMP) |
354 | . = 0x100 | 354 | . = 0x100 |
355 | b __secondary_start_gemini | 355 | b __secondary_start_gemini |
356 | #else | 356 | #else |
357 | EXCEPTION(0x100, Reset, UnknownException, EXC_XFER_STD) | 357 | EXCEPTION(0x100, Reset, unknown_exception, EXC_XFER_STD) |
358 | #endif | 358 | #endif |
359 | 359 | ||
360 | /* Machine check */ | 360 | /* Machine check */ |
@@ -389,7 +389,7 @@ i##n: \ | |||
389 | cmpwi cr1,r4,0 | 389 | cmpwi cr1,r4,0 |
390 | bne cr1,1f | 390 | bne cr1,1f |
391 | #endif | 391 | #endif |
392 | EXC_XFER_STD(0x200, MachineCheckException) | 392 | EXC_XFER_STD(0x200, machine_check_exception) |
393 | #ifdef CONFIG_PPC_CHRP | 393 | #ifdef CONFIG_PPC_CHRP |
394 | 1: b machine_check_in_rtas | 394 | 1: b machine_check_in_rtas |
395 | #endif | 395 | #endif |
@@ -456,10 +456,10 @@ Alignment: | |||
456 | mfspr r5,SPRN_DSISR | 456 | mfspr r5,SPRN_DSISR |
457 | stw r5,_DSISR(r11) | 457 | stw r5,_DSISR(r11) |
458 | addi r3,r1,STACK_FRAME_OVERHEAD | 458 | addi r3,r1,STACK_FRAME_OVERHEAD |
459 | EXC_XFER_EE(0x600, AlignmentException) | 459 | EXC_XFER_EE(0x600, alignment_exception) |
460 | 460 | ||
461 | /* Program check exception */ | 461 | /* Program check exception */ |
462 | EXCEPTION(0x700, ProgramCheck, ProgramCheckException, EXC_XFER_STD) | 462 | EXCEPTION(0x700, ProgramCheck, program_check_exception, EXC_XFER_STD) |
463 | 463 | ||
464 | /* Floating-point unavailable */ | 464 | /* Floating-point unavailable */ |
465 | . = 0x800 | 465 | . = 0x800 |
@@ -472,8 +472,8 @@ FPUnavailable: | |||
472 | /* Decrementer */ | 472 | /* Decrementer */ |
473 | EXCEPTION(0x900, Decrementer, timer_interrupt, EXC_XFER_LITE) | 473 | EXCEPTION(0x900, Decrementer, timer_interrupt, EXC_XFER_LITE) |
474 | 474 | ||
475 | EXCEPTION(0xa00, Trap_0a, UnknownException, EXC_XFER_EE) | 475 | EXCEPTION(0xa00, Trap_0a, unknown_exception, EXC_XFER_EE) |
476 | EXCEPTION(0xb00, Trap_0b, UnknownException, EXC_XFER_EE) | 476 | EXCEPTION(0xb00, Trap_0b, unknown_exception, EXC_XFER_EE) |
477 | 477 | ||
478 | /* System call */ | 478 | /* System call */ |
479 | . = 0xc00 | 479 | . = 0xc00 |
@@ -482,8 +482,8 @@ SystemCall: | |||
482 | EXC_XFER_EE_LITE(0xc00, DoSyscall) | 482 | EXC_XFER_EE_LITE(0xc00, DoSyscall) |
483 | 483 | ||
484 | /* Single step - not used on 601 */ | 484 | /* Single step - not used on 601 */ |
485 | EXCEPTION(0xd00, SingleStep, SingleStepException, EXC_XFER_STD) | 485 | EXCEPTION(0xd00, SingleStep, single_step_exception, EXC_XFER_STD) |
486 | EXCEPTION(0xe00, Trap_0e, UnknownException, EXC_XFER_EE) | 486 | EXCEPTION(0xe00, Trap_0e, unknown_exception, EXC_XFER_EE) |
487 | 487 | ||
488 | /* | 488 | /* |
489 | * The Altivec unavailable trap is at 0x0f20. Foo. | 489 | * The Altivec unavailable trap is at 0x0f20. Foo. |
@@ -502,7 +502,7 @@ SystemCall: | |||
502 | Trap_0f: | 502 | Trap_0f: |
503 | EXCEPTION_PROLOG | 503 | EXCEPTION_PROLOG |
504 | addi r3,r1,STACK_FRAME_OVERHEAD | 504 | addi r3,r1,STACK_FRAME_OVERHEAD |
505 | EXC_XFER_EE(0xf00, UnknownException) | 505 | EXC_XFER_EE(0xf00, unknown_exception) |
506 | 506 | ||
507 | /* | 507 | /* |
508 | * Handle TLB miss for instruction on 603/603e. | 508 | * Handle TLB miss for instruction on 603/603e. |
@@ -702,44 +702,44 @@ DataStoreTLBMiss: | |||
702 | rfi | 702 | rfi |
703 | 703 | ||
704 | #ifndef CONFIG_ALTIVEC | 704 | #ifndef CONFIG_ALTIVEC |
705 | #define AltivecAssistException UnknownException | 705 | #define altivec_assist_exception unknown_exception |
706 | #endif | 706 | #endif |
707 | 707 | ||
708 | EXCEPTION(0x1300, Trap_13, InstructionBreakpoint, EXC_XFER_EE) | 708 | EXCEPTION(0x1300, Trap_13, instruction_breakpoint_exception, EXC_XFER_EE) |
709 | EXCEPTION(0x1400, SMI, SMIException, EXC_XFER_EE) | 709 | EXCEPTION(0x1400, SMI, SMIException, EXC_XFER_EE) |
710 | EXCEPTION(0x1500, Trap_15, UnknownException, EXC_XFER_EE) | 710 | EXCEPTION(0x1500, Trap_15, unknown_exception, EXC_XFER_EE) |
711 | #ifdef CONFIG_POWER4 | 711 | #ifdef CONFIG_POWER4 |
712 | EXCEPTION(0x1600, Trap_16, UnknownException, EXC_XFER_EE) | 712 | EXCEPTION(0x1600, Trap_16, unknown_exception, EXC_XFER_EE) |
713 | EXCEPTION(0x1700, Trap_17, AltivecAssistException, EXC_XFER_EE) | 713 | EXCEPTION(0x1700, Trap_17, altivec_assist_exception, EXC_XFER_EE) |
714 | EXCEPTION(0x1800, Trap_18, TAUException, EXC_XFER_STD) | 714 | EXCEPTION(0x1800, Trap_18, TAUException, EXC_XFER_STD) |
715 | #else /* !CONFIG_POWER4 */ | 715 | #else /* !CONFIG_POWER4 */ |
716 | EXCEPTION(0x1600, Trap_16, AltivecAssistException, EXC_XFER_EE) | 716 | EXCEPTION(0x1600, Trap_16, altivec_assist_exception, EXC_XFER_EE) |
717 | EXCEPTION(0x1700, Trap_17, TAUException, EXC_XFER_STD) | 717 | EXCEPTION(0x1700, Trap_17, TAUException, EXC_XFER_STD) |
718 | EXCEPTION(0x1800, Trap_18, UnknownException, EXC_XFER_EE) | 718 | EXCEPTION(0x1800, Trap_18, unknown_exception, EXC_XFER_EE) |
719 | #endif /* CONFIG_POWER4 */ | 719 | #endif /* CONFIG_POWER4 */ |
720 | EXCEPTION(0x1900, Trap_19, UnknownException, EXC_XFER_EE) | 720 | EXCEPTION(0x1900, Trap_19, unknown_exception, EXC_XFER_EE) |
721 | EXCEPTION(0x1a00, Trap_1a, UnknownException, EXC_XFER_EE) | 721 | EXCEPTION(0x1a00, Trap_1a, unknown_exception, EXC_XFER_EE) |
722 | EXCEPTION(0x1b00, Trap_1b, UnknownException, EXC_XFER_EE) | 722 | EXCEPTION(0x1b00, Trap_1b, unknown_exception, EXC_XFER_EE) |
723 | EXCEPTION(0x1c00, Trap_1c, UnknownException, EXC_XFER_EE) | 723 | EXCEPTION(0x1c00, Trap_1c, unknown_exception, EXC_XFER_EE) |
724 | EXCEPTION(0x1d00, Trap_1d, UnknownException, EXC_XFER_EE) | 724 | EXCEPTION(0x1d00, Trap_1d, unknown_exception, EXC_XFER_EE) |
725 | EXCEPTION(0x1e00, Trap_1e, UnknownException, EXC_XFER_EE) | 725 | EXCEPTION(0x1e00, Trap_1e, unknown_exception, EXC_XFER_EE) |
726 | EXCEPTION(0x1f00, Trap_1f, UnknownException, EXC_XFER_EE) | 726 | EXCEPTION(0x1f00, Trap_1f, unknown_exception, EXC_XFER_EE) |
727 | EXCEPTION(0x2000, RunMode, RunModeException, EXC_XFER_EE) | 727 | EXCEPTION(0x2000, RunMode, RunModeException, EXC_XFER_EE) |
728 | EXCEPTION(0x2100, Trap_21, UnknownException, EXC_XFER_EE) | 728 | EXCEPTION(0x2100, Trap_21, unknown_exception, EXC_XFER_EE) |
729 | EXCEPTION(0x2200, Trap_22, UnknownException, EXC_XFER_EE) | 729 | EXCEPTION(0x2200, Trap_22, unknown_exception, EXC_XFER_EE) |
730 | EXCEPTION(0x2300, Trap_23, UnknownException, EXC_XFER_EE) | 730 | EXCEPTION(0x2300, Trap_23, unknown_exception, EXC_XFER_EE) |
731 | EXCEPTION(0x2400, Trap_24, UnknownException, EXC_XFER_EE) | 731 | EXCEPTION(0x2400, Trap_24, unknown_exception, EXC_XFER_EE) |
732 | EXCEPTION(0x2500, Trap_25, UnknownException, EXC_XFER_EE) | 732 | EXCEPTION(0x2500, Trap_25, unknown_exception, EXC_XFER_EE) |
733 | EXCEPTION(0x2600, Trap_26, UnknownException, EXC_XFER_EE) | 733 | EXCEPTION(0x2600, Trap_26, unknown_exception, EXC_XFER_EE) |
734 | EXCEPTION(0x2700, Trap_27, UnknownException, EXC_XFER_EE) | 734 | EXCEPTION(0x2700, Trap_27, unknown_exception, EXC_XFER_EE) |
735 | EXCEPTION(0x2800, Trap_28, UnknownException, EXC_XFER_EE) | 735 | EXCEPTION(0x2800, Trap_28, unknown_exception, EXC_XFER_EE) |
736 | EXCEPTION(0x2900, Trap_29, UnknownException, EXC_XFER_EE) | 736 | EXCEPTION(0x2900, Trap_29, unknown_exception, EXC_XFER_EE) |
737 | EXCEPTION(0x2a00, Trap_2a, UnknownException, EXC_XFER_EE) | 737 | EXCEPTION(0x2a00, Trap_2a, unknown_exception, EXC_XFER_EE) |
738 | EXCEPTION(0x2b00, Trap_2b, UnknownException, EXC_XFER_EE) | 738 | EXCEPTION(0x2b00, Trap_2b, unknown_exception, EXC_XFER_EE) |
739 | EXCEPTION(0x2c00, Trap_2c, UnknownException, EXC_XFER_EE) | 739 | EXCEPTION(0x2c00, Trap_2c, unknown_exception, EXC_XFER_EE) |
740 | EXCEPTION(0x2d00, Trap_2d, UnknownException, EXC_XFER_EE) | 740 | EXCEPTION(0x2d00, Trap_2d, unknown_exception, EXC_XFER_EE) |
741 | EXCEPTION(0x2e00, Trap_2e, UnknownException, EXC_XFER_EE) | 741 | EXCEPTION(0x2e00, Trap_2e, unknown_exception, EXC_XFER_EE) |
742 | EXCEPTION(0x2f00, MOLTrampoline, UnknownException, EXC_XFER_EE_LITE) | 742 | EXCEPTION(0x2f00, MOLTrampoline, unknown_exception, EXC_XFER_EE_LITE) |
743 | 743 | ||
744 | .globl mol_trampoline | 744 | .globl mol_trampoline |
745 | .set mol_trampoline, i0x2f00 | 745 | .set mol_trampoline, i0x2f00 |
@@ -751,7 +751,7 @@ AltiVecUnavailable: | |||
751 | #ifdef CONFIG_ALTIVEC | 751 | #ifdef CONFIG_ALTIVEC |
752 | bne load_up_altivec /* if from user, just load it up */ | 752 | bne load_up_altivec /* if from user, just load it up */ |
753 | #endif /* CONFIG_ALTIVEC */ | 753 | #endif /* CONFIG_ALTIVEC */ |
754 | EXC_XFER_EE_LITE(0xf20, AltivecUnavailException) | 754 | EXC_XFER_EE_LITE(0xf20, altivec_unavailable_exception) |
755 | 755 | ||
756 | #ifdef CONFIG_PPC64BRIDGE | 756 | #ifdef CONFIG_PPC64BRIDGE |
757 | DataAccess: | 757 | DataAccess: |
@@ -767,12 +767,12 @@ DataSegment: | |||
767 | addi r3,r1,STACK_FRAME_OVERHEAD | 767 | addi r3,r1,STACK_FRAME_OVERHEAD |
768 | mfspr r4,SPRN_DAR | 768 | mfspr r4,SPRN_DAR |
769 | stw r4,_DAR(r11) | 769 | stw r4,_DAR(r11) |
770 | EXC_XFER_STD(0x380, UnknownException) | 770 | EXC_XFER_STD(0x380, unknown_exception) |
771 | 771 | ||
772 | InstructionSegment: | 772 | InstructionSegment: |
773 | EXCEPTION_PROLOG | 773 | EXCEPTION_PROLOG |
774 | addi r3,r1,STACK_FRAME_OVERHEAD | 774 | addi r3,r1,STACK_FRAME_OVERHEAD |
775 | EXC_XFER_STD(0x480, UnknownException) | 775 | EXC_XFER_STD(0x480, unknown_exception) |
776 | #endif /* CONFIG_PPC64BRIDGE */ | 776 | #endif /* CONFIG_PPC64BRIDGE */ |
777 | 777 | ||
778 | #ifdef CONFIG_ALTIVEC | 778 | #ifdef CONFIG_ALTIVEC |