summaryrefslogtreecommitdiffstats
path: root/arch/kvx/include/asm/sfr.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/kvx/include/asm/sfr.h')
-rw-r--r--arch/kvx/include/asm/sfr.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/kvx/include/asm/sfr.h b/arch/kvx/include/asm/sfr.h
index 5b93cee345..89ff64bbdc 100644
--- a/arch/kvx/include/asm/sfr.h
+++ b/arch/kvx/include/asm/sfr.h
@@ -44,4 +44,8 @@ kvx_sfr_set_mask(unsigned char sfr, uint64_t mask, uint64_t value)
#define kvx_sfr_set(_sfr, _val) __builtin_kvx_set(KVX_SFR_ ## _sfr, _val)
#define kvx_sfr_get(_sfr) __builtin_kvx_get(KVX_SFR_ ## _sfr)
+#define kvx_sfr_field_val(_val, _sfr, _field) \
+ (((_val) & KVX_SFR_ ## _sfr ## _ ## _field ## _MASK) \
+ >> KVX_SFR_ ## _sfr ## _ ## _field ## _SHIFT)
+
#endif /* _ASM_KVX_SFR_DEFS_H */