diff options
author | ian <ian@FreeBSD.org> | 2014-05-14 04:57:55 +0000 |
---|---|---|
committer | ian <ian@FreeBSD.org> | 2014-05-14 04:57:55 +0000 |
commit | 4a602a895785693d5def6282dbd784066341e805 (patch) | |
tree | 93e1dc02422784a7958c97bfd024009d3b8817ff /sys/powerpc/booke | |
parent | 9277bb1a2b74a398eb2fd572785d2d6db451d8c1 (diff) | |
download | FreeBSD-src-4a602a895785693d5def6282dbd784066341e805.zip FreeBSD-src-4a602a895785693d5def6282dbd784066341e805.tar.gz |
MFC r258259, r258798, r259010
Unify handling of illegal instruction faults between AIM and Book-E.
Make uart_cpu_powerpc work on both FDT and OFW systems.
Fix debug printfs in FPU_EMU to compile on powerpc64 and enable it for
powerpc64.
Diffstat (limited to 'sys/powerpc/booke')
-rw-r--r-- | sys/powerpc/booke/trap.c | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/sys/powerpc/booke/trap.c b/sys/powerpc/booke/trap.c index 72c4f47..dc84ede 100644 --- a/sys/powerpc/booke/trap.c +++ b/sys/powerpc/booke/trap.c @@ -71,10 +71,6 @@ __FBSDID("$FreeBSD$"); #include <machine/trap.h> #include <machine/spr.h> -#ifdef FPU_EMU -#include <powerpc/fpu/fpu_extern.h> -#endif - #define FAULTBUF_LR 0 #define FAULTBUF_R1 1 #define FAULTBUF_R2 2 @@ -193,18 +189,7 @@ trap(struct trapframe *frame) break; case EXC_PGM: /* Program exception */ -#ifdef FPU_EMU - if (!(td->td_pcb->pcb_flags & PCB_FPREGS)) { - bzero(&td->td_pcb->pcb_fpu, - sizeof(td->td_pcb->pcb_fpu)); - td->td_pcb->pcb_flags |= PCB_FPREGS; - } - sig = fpu_emulate(frame, - (struct fpreg *)&td->td_pcb->pcb_fpu); -#else - /* XXX SIGILL for non-trap instructions. */ - sig = SIGTRAP; -#endif + sig = ppc_instr_emulate(frame, td->td_pcb); break; default: |