diff options
Diffstat (limited to 'src/sbefw/core/sbeutil.H')
-rw-r--r-- | src/sbefw/core/sbeutil.H | 15 |
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() \ |