Date: Mon, 27 Aug 2018 10:08:27 +0000 (UTC) From: Andrew Turner <andrew@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r338336 - head/sys/arm/arm Message-ID: <201808271008.w7RA8RFF088803@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: andrew Date: Mon Aug 27 10:08:27 2018 New Revision: 338336 URL: https://svnweb.freebsd.org/changeset/base/338336 Log: Use the correct register when storing the arm VFP state. Previously we have been lucky where the state was already in r0, however this is not guaranteed. Use the passed in register as the location to store the upper half of the arm VFP registers rather than relying on it being r0. Approved by: re (kib) Modified: head/sys/arm/arm/vfp.c Modified: head/sys/arm/arm/vfp.c ============================================================================== --- head/sys/arm/arm/vfp.c Mon Aug 27 09:39:34 2018 (r338335) +++ head/sys/arm/arm/vfp.c Mon Aug 27 10:08:27 2018 (r338336) @@ -293,7 +293,7 @@ vfp_store(struct vfp_state *vfpsave, boolean_t disable " .fpu vfpv3\n" " vstmia %0!, {d0-d15}\n" /* d0-d15 */ " cmp %1, #0\n" /* -D16 or -D32? */ - " vstmiane r0!, {d16-d31}\n" /* d16-d31 */ + " vstmiane %0!, {d16-d31}\n" /* d16-d31 */ " addeq %0, %0, #128\n" /* skip missing regs */ : "+&r" (vfpsave) : "r" (is_d32) : "cc" );
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201808271008.w7RA8RFF088803>