From c749d685960d2f309842e6a4a90477fbd2fa76e0 Mon Sep 17 00:00:00 2001 From: Julian Elischer Date: Sat, 15 Jun 2019 00:47:39 +0000 Subject: [PATCH] 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. --- sys/arm64/include/armreg.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index 730b7a2b61de..271dc93810f5 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -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 */