From e43422b734269d23f336e5ca3c05dedd8fd52901 Mon Sep 17 00:00:00 2001 From: Jeenu Viswambharan Date: Wed, 5 Sep 2018 14:23:27 +0100 Subject: [PATCH] ARMv7: Alias dmbld() to dmb() 'dmb ld' is not a recognized instruction for ARMv7. Since generic code may use 'dmb ld', alias it to 'dmb' when building for ARMv7. Change-Id: I502f360cb6412897ca9580b725d9f79469a7612e Signed-off-by: Jeenu Viswambharan --- include/lib/aarch32/arch_helpers.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/lib/aarch32/arch_helpers.h b/include/lib/aarch32/arch_helpers.h index 6369a5d78..5d9c1c151 100644 --- a/include/lib/aarch32/arch_helpers.h +++ b/include/lib/aarch32/arch_helpers.h @@ -210,7 +210,12 @@ DEFINE_SYSOP_FUNC(sev) DEFINE_SYSOP_TYPE_FUNC(dsb, sy) DEFINE_SYSOP_TYPE_FUNC(dmb, sy) DEFINE_SYSOP_TYPE_FUNC(dmb, st) + +/* dmb ld is not valid for armv7/thumb machines */ +#if ARM_ARCH_MAJOR != 7 DEFINE_SYSOP_TYPE_FUNC(dmb, ld) +#endif + DEFINE_SYSOP_TYPE_FUNC(dsb, ish) DEFINE_SYSOP_TYPE_FUNC(dsb, ishst) DEFINE_SYSOP_TYPE_FUNC(dmb, ish) @@ -323,6 +328,11 @@ DEFINE_DCOP_PARAM_FUNC(cvac, DCCMVAC) #define dsb() dsbsy() #define dmb() dmbsy() +/* dmb ld is not valid for armv7/thumb machines, so alias it to dmb */ +#if ARM_ARCH_MAJOR == 7 +#define dmbld() dmb() +#endif + #define IS_IN_SECURE() \ (GET_NS_BIT(read_scr()) == 0)