Date: Mon, 12 Aug 2019 12:51:47 +0000 (UTC) From: Leandro Lupori <luporl@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r350899 - head/sys/powerpc/powerpc Message-ID: <201908121251.x7CCpltl044859@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: luporl Date: Mon Aug 12 12:51:47 2019 New Revision: 350899 URL: https://svnweb.freebsd.org/changeset/base/350899 Log: [PPC64] Save FPU registers before enabling VSX Fixed trap handler logic, in order to make it save FPU registers, if FPU is enabled, before enabling VSX. Without this change, FPU register contents were being lost when set before VSX was enabled. Modified: head/sys/powerpc/powerpc/trap.c Modified: head/sys/powerpc/powerpc/trap.c ============================================================================== --- head/sys/powerpc/powerpc/trap.c Mon Aug 12 12:05:40 2019 (r350898) +++ head/sys/powerpc/powerpc/trap.c Mon Aug 12 12:51:47 2019 (r350899) @@ -295,7 +295,7 @@ trap(struct trapframe *frame) ("VSX already enabled for thread")); if (!(td->td_pcb->pcb_flags & PCB_VEC)) enable_vec(td); - if (!(td->td_pcb->pcb_flags & PCB_FPU)) + if (td->td_pcb->pcb_flags & PCB_FPU) save_fpu(td); td->td_pcb->pcb_flags |= PCB_VSX; enable_fpu(td);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201908121251.x7CCpltl044859>