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)
 /*
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to