Date: Fri, 27 May 2016 12:02:12 +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: r300850 - head/sys/cddl/dev/dtrace/aarch64 Message-ID: <201605271202.u4RC2CAZ052765@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: andrew Date: Fri May 27 12:02:12 2016 New Revision: 300850 URL: https://svnweb.freebsd.org/changeset/base/300850 Log: Fix dtrace_interrupt_disable and dtrace_interrupt_enable by having the former return the current status for the latter to use. Without this we could enable interrupts when they shouldn't be. It's still not quite right as it should only update the bits we care about, bit should be good enough until the correct fix can be tested. PR: 204270 Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation Modified: head/sys/cddl/dev/dtrace/aarch64/dtrace_asm.S Modified: head/sys/cddl/dev/dtrace/aarch64/dtrace_asm.S ============================================================================== --- head/sys/cddl/dev/dtrace/aarch64/dtrace_asm.S Fri May 27 11:50:26 2016 (r300849) +++ head/sys/cddl/dev/dtrace/aarch64/dtrace_asm.S Fri May 27 12:02:12 2016 (r300850) @@ -55,6 +55,7 @@ END(dtrace_membar_consumer) dtrace_icookie_t dtrace_interrupt_disable(void) */ ENTRY(dtrace_interrupt_disable) + mrs x0, daif msr daifset, #2 RET END(dtrace_interrupt_disable) @@ -63,7 +64,7 @@ END(dtrace_interrupt_disable) void dtrace_interrupt_enable(dtrace_icookie_t cookie) */ ENTRY(dtrace_interrupt_enable) - msr daifclr, #2 + msr daif, x0 RET END(dtrace_interrupt_enable) /*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201605271202.u4RC2CAZ052765>