summaryrefslogtreecommitdiff
path: root/include/lib/aarch64
diff options
context:
space:
mode:
authordavidcunado-arm <david.cunado@arm.com>2017-10-18 23:39:07 +0100
committerGitHub <noreply@github.com>2017-10-18 23:39:07 +0100
commitb4e81a332516ada89ff7264de7f7e88f86f847e3 (patch)
treea3d5e27ea5aa53e13e63b8b2ae6db53cb71672b2 /include/lib/aarch64
parent38f5d3f3404d239e5040ff08ce9bd1158273df93 (diff)
parente0f34eaacd714b0f1675eb9dc1777538e6907bfd (diff)
Merge pull request #1129 from robertovargas-arm/enable_O0
Fix use of MSR (immediate)
Diffstat (limited to 'include/lib/aarch64')
-rw-r--r--include/lib/aarch64/arch_helpers.h16
1 files changed, 4 insertions, 12 deletions
diff --git a/include/lib/aarch64/arch_helpers.h b/include/lib/aarch64/arch_helpers.h
index 684a0deb..a31bd816 100644
--- a/include/lib/aarch64/arch_helpers.h
+++ b/include/lib/aarch64/arch_helpers.h
@@ -31,11 +31,8 @@ static inline void write_ ## _name(uint64_t v) \
__asm__ volatile ("msr " #_reg_name ", %0" : : "r" (v)); \
}
-#define _DEFINE_SYSREG_WRITE_CONST_FUNC(_name, _reg_name) \
-static inline void write_ ## _name(const uint64_t v) \
-{ \
- __asm__ volatile ("msr " #_reg_name ", %0" : : "i" (v)); \
-}
+#define SYSREG_WRITE_CONST(reg_name, v) \
+ __asm__ volatile ("msr " #reg_name ", %0" : : "i" (v))
/* Define read function for system register */
#define DEFINE_SYSREG_READ_FUNC(_name) \
@@ -59,11 +56,6 @@ static inline void write_ ## _name(const uint64_t v) \
#define DEFINE_RENAME_SYSREG_WRITE_FUNC(_name, _reg_name) \
_DEFINE_SYSREG_WRITE_FUNC(_name, _reg_name)
-/* Define write function for special system registers */
-#define DEFINE_SYSREG_WRITE_CONST_FUNC(_name) \
- _DEFINE_SYSREG_WRITE_CONST_FUNC(_name, _name)
-
-
/**********************************************************************
* Macros to create inline functions for system instructions
*********************************************************************/
@@ -178,8 +170,8 @@ void disable_mmu_icache_el3(void);
* Misc. accessor prototypes
******************************************************************************/
-DEFINE_SYSREG_WRITE_CONST_FUNC(daifset)
-DEFINE_SYSREG_WRITE_CONST_FUNC(daifclr)
+#define write_daifclr(val) SYSREG_WRITE_CONST(daifclr, val)
+#define write_daifset(val) SYSREG_WRITE_CONST(daifset, val)
DEFINE_SYSREG_READ_FUNC(par_el1)
DEFINE_SYSREG_READ_FUNC(id_pfr1_el1)