|
16 | 16 | **/ |
17 | 17 |
|
18 | 18 | #include "pal_common_support.h" |
| 19 | +#include "pal_run_request.h" |
19 | 20 | #include "platform_override_struct.h" |
20 | 21 | #include "rule_based_execution_enum.h" |
21 | 22 |
|
22 | 23 | /* Following global variables can be edited by user before compilation to pass hints to framework |
23 | 24 | as well as run compliance against subset of rules. |
24 | 25 |
|
25 | 26 | Partner fill-in guide : |
26 | | - - g_rule_list_arr: Explicit list of rule IDs (RULE_ID_e) to execute. Leave empty for default |
27 | | - rule checklist. |
| 27 | + - platform_rule_list_arr: Explicit list of rule IDs (RULE_ID_e) to execute. Leave empty for |
| 28 | + the default rule checklist. |
28 | 29 | Example entries: B_PE_01, S_L3PE_02, P_L1PE_01, B_GIC_03, ... |
29 | 30 | Refer sysarch-acs/val/include/rule_based_execution_enum.h for valid enums. |
30 | 31 |
|
31 | | - - g_skip_rule_list_arr: Rules (RULE_ID_e) to skip. |
32 | | - These take precedence over selections via g_rule_list_arr or module filters. |
| 32 | + - platform_skip_rule_list_arr: Rules (RULE_ID_e) to skip. |
| 33 | + These take precedence over selections via platform_rule_list_arr or module filters. |
33 | 34 | Example entries: B_PE_01, S_L3PE_02, P_L1PE_01, B_GIC_03, ... |
34 | 35 | Refer sysarch-acs/val/include/rule_based_execution_enum.h for valid enums. |
35 | 36 |
|
36 | | - - g_execute_modules_arr: Modules to include (values from MODULE_NAME_e: PE, GIC, SMMU, |
| 37 | + - platform_execute_modules_arr: Modules to include (values from MODULE_NAME_e: PE, GIC, SMMU, |
37 | 38 | TIMER, PERIPHERAL, RAS, WATCHDOG, PCIE, MPAM, ETE, TPM, etc.). If non-empty, only |
38 | 39 | rules belonging to these modules will run. |
39 | 40 | Refer sysarch-acs/val/include/rule_based_execution_enum.h for valid enums. |
40 | 41 |
|
41 | | - - g_skip_modules_arr: Modules (MODULE_NAME_e) to exclude from execution. |
| 42 | + - platform_skip_modules_arr: Modules (MODULE_NAME_e) to exclude from execution. |
| 43 | +
|
| 44 | + - g_platform_run_request_defaults.level_filter_mode: Default baremetal level filtering mode. |
42 | 45 |
|
43 | 46 | Notes: |
44 | 47 | - Counts are auto-derived via sizeof; no sentinel terminators are required. |
45 | 48 | - If both include and skip specify the same module/rule, skip wins. |
46 | 49 | */ |
47 | | -RULE_ID_e g_rule_list_arr[] = {} ; |
48 | | -uint32_t g_rule_count = sizeof(g_rule_list_arr)/sizeof(g_rule_list_arr[0]); |
49 | | - |
50 | | -RULE_ID_e g_skip_rule_list_arr[] = {}; |
51 | | -uint32_t g_skip_rule_count = sizeof(g_skip_rule_list_arr)/sizeof(g_skip_rule_list_arr[0]); |
52 | | - |
53 | | -uint32_t g_execute_modules_arr[] = {}; |
54 | | -uint32_t g_num_modules = sizeof(g_execute_modules_arr)/sizeof(g_execute_modules_arr[0]); |
55 | | - |
56 | | -uint32_t g_skip_modules_arr[] = {}; |
57 | | -uint32_t g_num_skip_modules = sizeof(g_skip_modules_arr)/sizeof(g_skip_modules_arr[0]); |
| 50 | +static RULE_ID_e platform_rule_list_arr[] = {}; |
| 51 | +static RULE_ID_e platform_skip_rule_list_arr[] = {}; |
| 52 | +static uint32_t platform_execute_modules_arr[] = {}; |
| 53 | +static uint32_t platform_skip_modules_arr[] = {}; |
| 54 | + |
| 55 | +static const acs_platform_run_request_defaults_t g_platform_run_request_defaults = { |
| 56 | + .rule_list = platform_rule_list_arr, |
| 57 | + .rule_count = sizeof(platform_rule_list_arr) / sizeof(platform_rule_list_arr[0]), |
| 58 | + .skip_rule_list = platform_skip_rule_list_arr, |
| 59 | + .skip_rule_count = sizeof(platform_skip_rule_list_arr) / |
| 60 | + sizeof(platform_skip_rule_list_arr[0]), |
| 61 | + .execute_modules = platform_execute_modules_arr, |
| 62 | + .num_modules = sizeof(platform_execute_modules_arr) / |
| 63 | + sizeof(platform_execute_modules_arr[0]), |
| 64 | + .skip_modules = platform_skip_modules_arr, |
| 65 | + .num_skip_modules = sizeof(platform_skip_modules_arr) / |
| 66 | + sizeof(platform_skip_modules_arr[0]), |
| 67 | + .level_filter_mode = LVL_FILTER_MAX, |
| 68 | +}; |
58 | 69 |
|
59 | | -/* The Baremetal app supports three filtering modes |
60 | | - LVL_FILTER_MAX, run rules with level <= selected level |
61 | | - LVL_FILTER_ONLY, run rules with level == selected level |
62 | | - LVL_FILTER_FR run rules with level <= *_LEVEL_FR |
63 | | -*/ |
64 | | -uint32_t g_level_filter_mode = LVL_FILTER_MAX; /* Default set to LVL_FILTER_MAX */ |
| 70 | +const acs_platform_run_request_defaults_t * |
| 71 | +acs_get_platform_run_request_defaults(void) |
| 72 | +{ |
| 73 | + return &g_platform_run_request_defaults; |
| 74 | +} |
65 | 75 |
|
66 | 76 | /* |
67 | 77 | * Platform execution-policy defaults overlaid on top of the generic runtime |
|
0 commit comments