diff options
Diffstat (limited to 'arch/powerpc/kernel/traps.c')
-rw-r--r-- | arch/powerpc/kernel/traps.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c index 5a49eabd492e..2f1857c9819f 100644 --- a/arch/powerpc/kernel/traps.c +++ b/arch/powerpc/kernel/traps.c | |||
@@ -906,7 +906,9 @@ void SoftwareEmulation(struct pt_regs *regs) | |||
906 | { | 906 | { |
907 | extern int do_mathemu(struct pt_regs *); | 907 | extern int do_mathemu(struct pt_regs *); |
908 | extern int Soft_emulate_8xx(struct pt_regs *); | 908 | extern int Soft_emulate_8xx(struct pt_regs *); |
909 | #if defined(CONFIG_MATH_EMULATION) || defined(CONFIG_8XX_MINIMAL_FPEMU) | ||
909 | int errcode; | 910 | int errcode; |
911 | #endif | ||
910 | 912 | ||
911 | CHECK_FULL_REGS(regs); | 913 | CHECK_FULL_REGS(regs); |
912 | 914 | ||
@@ -936,7 +938,7 @@ void SoftwareEmulation(struct pt_regs *regs) | |||
936 | return; | 938 | return; |
937 | } | 939 | } |
938 | 940 | ||
939 | #else | 941 | #elif defined(CONFIG_8XX_MINIMAL_FPEMU) |
940 | errcode = Soft_emulate_8xx(regs); | 942 | errcode = Soft_emulate_8xx(regs); |
941 | switch (errcode) { | 943 | switch (errcode) { |
942 | case 0: | 944 | case 0: |
@@ -949,6 +951,8 @@ void SoftwareEmulation(struct pt_regs *regs) | |||
949 | _exception(SIGSEGV, regs, SEGV_MAPERR, regs->nip); | 951 | _exception(SIGSEGV, regs, SEGV_MAPERR, regs->nip); |
950 | return; | 952 | return; |
951 | } | 953 | } |
954 | #else | ||
955 | _exception(SIGILL, regs, ILL_ILLOPC, regs->nip); | ||
952 | #endif | 956 | #endif |
953 | } | 957 | } |
954 | #endif /* CONFIG_8xx */ | 958 | #endif /* CONFIG_8xx */ |