diff options
Diffstat (limited to 'src/cpu/x86/smm')
-rw-r--r-- | src/cpu/x86/smm/smm_module_handler.c | 7 | ||||
-rw-r--r-- | src/cpu/x86/smm/smm_module_loader.c | 5 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/cpu/x86/smm/smm_module_handler.c b/src/cpu/x86/smm/smm_module_handler.c index a976521e65..1b3c93b780 100644 --- a/src/cpu/x86/smm/smm_module_handler.c +++ b/src/cpu/x86/smm/smm_module_handler.c @@ -52,6 +52,13 @@ static void smi_release_lock(void) ); } +#if CONFIG(RUNTIME_CONFIGURABLE_SMM_LOGLEVEL) +int get_console_loglevel(void) +{ + return smm_runtime.smm_log_level; +} +#endif + void smm_get_cbmemc_buffer(void **buffer_out, size_t *size_out) { *buffer_out = smm_runtime.cbmemc; diff --git a/src/cpu/x86/smm/smm_module_loader.c b/src/cpu/x86/smm/smm_module_loader.c index 6924f08e78..1b04e8894d 100644 --- a/src/cpu/x86/smm/smm_module_loader.c +++ b/src/cpu/x86/smm/smm_module_loader.c @@ -338,6 +338,11 @@ static void setup_smihandler_params(struct smm_runtime *mod_params, for (int i = 0; i < loader_params->num_cpus; i++) mod_params->save_state_top[i] = region_end(&cpus[i].ss); + + if (CONFIG(RUNTIME_CONFIGURABLE_SMM_LOGLEVEL)) + mod_params->smm_log_level = mainboard_set_smm_log_level(); + else + mod_params->smm_log_level = 0; } static void print_region(const char *name, const struct region region) |