svn commit: r300850 - head/sys/cddl/dev/dtrace/aarch64
Andrew Turner
andrew at FreeBSD.org
Fri May 27 12:02:13 UTC 2016
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)
/*
More information about the svn-src-all
mailing list