diff options
Diffstat (limited to 'src/cpu/x86/smm')
-rw-r--r-- | src/cpu/x86/smm/smm_module_loader.c | 8 | ||||
-rw-r--r-- | src/cpu/x86/smm/smm_module_loaderv2.c | 8 |
2 files changed, 2 insertions, 14 deletions
diff --git a/src/cpu/x86/smm/smm_module_loader.c b/src/cpu/x86/smm/smm_module_loader.c index 021d739f94..39cd9101a5 100644 --- a/src/cpu/x86/smm/smm_module_loader.c +++ b/src/cpu/x86/smm/smm_module_loader.c @@ -198,12 +198,6 @@ static int smm_module_setup_stub(void *smbase, size_t smm_size, smm_stub_size = rmodule_memory_size(&smm_stub); stub_entry_offset = rmodule_entry_offset(&smm_stub); - if (smm_stub_size > params->per_cpu_save_state_size) { - printk(BIOS_ERR, "SMM Module: SMM stub size larger than save state size\n"); - printk(BIOS_ERR, "SMM Module: Staggered entry points will overlap stub\n"); - return -1; - } - /* Assume the stub is always small enough to live within upper half of * SMRAM region after the save state space has been allocated. */ smm_stub_loc = &base[SMM_ENTRY_OFFSET]; @@ -389,7 +383,7 @@ int smm_load_module(void *smram, size_t size, struct smm_loader_params *params) handler_mod_params = rmodule_parameters(&smm_mod); handler_mod_params->smbase = (uintptr_t)smram; handler_mod_params->smm_size = size; - handler_mod_params->save_state_size = params->per_cpu_save_state_size; + handler_mod_params->save_state_size = params->real_cpu_save_state_size; handler_mod_params->num_cpus = params->num_concurrent_stacks; handler_mod_params->gnvs_ptr = (uintptr_t)acpi_get_gnvs(); diff --git a/src/cpu/x86/smm/smm_module_loaderv2.c b/src/cpu/x86/smm/smm_module_loaderv2.c index c8b9fe689a..8354568b4b 100644 --- a/src/cpu/x86/smm/smm_module_loaderv2.c +++ b/src/cpu/x86/smm/smm_module_loaderv2.c @@ -123,12 +123,6 @@ static int smm_create_map(uintptr_t smbase, unsigned int num_cpus, return 0; } - if (stub_size > ss_size) { - printk(BIOS_ERR, "%s: Save state larger than SMM stub size\n", __func__); - printk(BIOS_ERR, " Decrease stub size or increase the size allocated for the save state\n"); - return 0; - } - for (i = 0; i < num_cpus; i++) { cpus[i].smbase = base; cpus[i].entry = base + smm_entry_offset; @@ -588,7 +582,7 @@ int smm_load_module(void *smram, size_t size, struct smm_loader_params *params) handler_mod_params = rmodule_parameters(&smm_mod); handler_mod_params->smbase = (uintptr_t)smram; handler_mod_params->smm_size = size; - handler_mod_params->save_state_size = params->per_cpu_save_state_size; + handler_mod_params->save_state_size = params->real_cpu_save_state_size; handler_mod_params->num_cpus = params->num_concurrent_stacks; handler_mod_params->gnvs_ptr = (uintptr_t)acpi_get_gnvs(); |