summaryrefslogtreecommitdiffstats
path: root/src/sbefw/core/sbeutil.H
diff options
context:
space:
mode:
Diffstat (limited to 'src/sbefw/core/sbeutil.H')
-rw-r--r--src/sbefw/core/sbeutil.H15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/sbefw/core/sbeutil.H b/src/sbefw/core/sbeutil.H
index 9528eabd..73850ff7 100644
--- a/src/sbefw/core/sbeutil.H
+++ b/src/sbefw/core/sbeutil.H
@@ -49,10 +49,19 @@ if ((l_rc) != SBE_SEC_OPERATION_SUCCESSFUL) \
#define CHECK_SBE_SECURITY_RC_AND_BREAK_IF_NOT_SUCCESS(addr, op, resp) \
if (!SBE_SECURITY::isAllowed(addr, op)) \
{ \
- resp->setStatus(SBE_PRI_UNSECURE_ACCESS_DENIED, \
- SBE_SEC_BLACKLISTED_REG_ACCESS); \
/* TODO via RTC 180983:Enable this once the BL/WL registers are settled */ \
- /*break;*/ \
+ if(SbeRegAccess::theSbeRegAccess().disableScomFiltering()) \
+ { \
+ /* security override possible && scom filtering disabled */ \
+ resp->setStatus(SBE_PRI_UNSECURE_ACCESS_DENIED, \
+ SBE_SEC_BLACKLISTED_REG_ACCESS); \
+ } \
+ else \
+ { \
+ resp->setStatus(SBE_PRI_UNSECURE_ACCESS_DENIED, \
+ SBE_SEC_BLACKLISTED_REG_ACCESS_BLOCKED); \
+ break; \
+ } \
}
#define mfdec() \
OpenPOWER on IntegriCloud