summaryrefslogtreecommitdiff
path: root/src/cpu/x86/smm
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/x86/smm')
-rw-r--r--src/cpu/x86/smm/smm_module_handler.c7
-rw-r--r--src/cpu/x86/smm/smm_module_loader.c5
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)