Date: Sat, 15 Jun 2019 00:47:39 +0000 (UTC) From: Julian Elischer <julian@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r349044 - head/sys/arm64/include Message-ID: <201906150047.x5F0ld3V014739@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201906150047.x5F0ld3V014739>