Skip to content

Commit 2101558

Browse files
SapthagiriPchetan-rathore
authored andcommitted
feat(bare-metal): Intialize the modules based on the rules selected
Intialize the modules based on the rules selected not just relying on module selection that is done via compile time and also skip initialisation of modules based on skip module parameter Signed-off-by: sapthagiri padmanabhan <sapthagiri.padmanabhan@arm.com> Change-Id: If10446f55c2ad748c34cbc77794ca73cf561c807
1 parent 291061f commit 2101558

1 file changed

Lines changed: 24 additions & 5 deletions

File tree

apps/baremetal/acs_runtime_init.c

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
extern uint64_t g_el3_param_magic;
2828
extern uint64_t g_el3_param_addr;
29+
extern rule_test_map_t rule_test_map[RULE_ID_SENTINEL];
2930

3031
/* === Build-time module list support (ACS_ENABLED_MODULE_LIST) === */
3132
#if ACS_HAS_ENABLED_MODULE_LIST
@@ -54,14 +55,32 @@ bool
5455
acs_is_module_enabled(uint32_t module_base)
5556
{
5657
const acs_run_request_t *ctx = acs_get_run_request();
57-
58+
RULE_ID_e rule;
5859
/* Runtime / EL3 / CLI override has highest priority */
60+
if (ctx->num_skip_modules)
61+
if (acs_list_contains(ctx->skip_modules, ctx->num_skip_modules, module_base))
62+
return false;
63+
64+
if (ctx->rule_count == 0 && ctx->num_modules == 0)
65+
return true; /* No overrides: enable everything */
66+
5967
if (ctx->num_modules) {
60-
return acs_list_contains(ctx->execute_modules, ctx->num_modules, module_base);
68+
if (acs_list_contains(ctx->execute_modules, ctx->num_modules, module_base))
69+
return true;
70+
}
71+
72+
for (uint32_t i = 0; i < ctx->rule_count; i++)
73+
{
74+
rule = ctx->rule_list[i];
75+
76+
if (rule < 0 || rule >= RULE_ID_SENTINEL)
77+
continue;
78+
79+
if (rule_test_map[rule].module_id == module_base)
80+
return true;
6181
}
62-
/* No overrides: enable everything */
63-
(void)module_base;
64-
return true;
82+
83+
return false;
6584
}
6685

6786
void

0 commit comments

Comments
 (0)