Author: julian
Date: Sat Jun 15 00:47:39 2019
New Revision: 349044
URL: https://svnweb.freebsd.org/changeset/base/349044

Log:
  Lightly hide the 'var' inside the macros to read the arm special registers.
  I just happenned to have 3rd party code using 'var' as the output variable
  which drew my attention to this. variables defined inside macros should be
  prefixed to avoid getting shadowed varable wanrings from clang.

Modified:
  head/sys/arm64/include/armreg.h

Modified: head/sys/arm64/include/armreg.h
==============================================================================
--- head/sys/arm64/include/armreg.h     Fri Jun 14 23:53:19 2019        
(r349043)
+++ head/sys/arm64/include/armreg.h     Sat Jun 15 00:47:39 2019        
(r349044)
@@ -36,12 +36,12 @@
 #define        INSN_SIZE               4
 
 #define        READ_SPECIALREG(reg)                                            
\
-({     uint64_t val;                                                   \
-       __asm __volatile("mrs   %0, " __STRING(reg) : "=&r" (val));     \
-       val;                                                            \
+({     uint64_t _val;                                                  \
+       __asm __volatile("mrs   %0, " __STRING(reg) : "=&r" (_val));    \
+       _val;                                                           \
 })
-#define        WRITE_SPECIALREG(reg, val)                                      
\
-       __asm __volatile("msr   " __STRING(reg) ", %0" : : "r"((uint64_t)val))
+#define        WRITE_SPECIALREG(reg, _val)                                     
\
+       __asm __volatile("msr   " __STRING(reg) ", %0" : : "r"((uint64_t)_val))
 
 /* CNTHCTL_EL2 - Counter-timer Hypervisor Control register */
 #define        CNTHCTL_EVNTI_MASK      (0xf << 4) /* Bit to trigger event 
stream */
_______________________________________________
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