diff options
Diffstat (limited to 'src/cpu/x86')
-rw-r--r-- | src/cpu/x86/Kconfig | 6 | ||||
-rw-r--r-- | src/cpu/x86/lapic/lapic_cpu_init.c | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/cpu/x86/Kconfig b/src/cpu/x86/Kconfig index d021564126..86f31e05c7 100644 --- a/src/cpu/x86/Kconfig +++ b/src/cpu/x86/Kconfig @@ -114,6 +114,12 @@ config SMM_TSEG default y depends on !(NO_SMM || SMM_ASEG) +config SMM_LEGACY_ASEG + bool + default y if HAVE_SMI_HANDLER && SMM_ASEG && LEGACY_SMP_INIT + help + SMM support without PARALLEL_MP, to be deprecated. + if SMM_TSEG config SMM_MODULE_HEAP_SIZE diff --git a/src/cpu/x86/lapic/lapic_cpu_init.c b/src/cpu/x86/lapic/lapic_cpu_init.c index 5f2b27b133..7780be26ec 100644 --- a/src/cpu/x86/lapic/lapic_cpu_init.c +++ b/src/cpu/x86/lapic/lapic_cpu_init.c @@ -391,7 +391,8 @@ void initialize_cpus(struct bus *cpu_bus) if (is_smp_boot()) copy_secondary_start_to_lowest_1M(); - smm_init(); + if (CONFIG(SMM_LEGACY_ASEG)) + smm_init(); /* Initialize the bootstrap processor */ cpu_initialize(0); @@ -403,7 +404,8 @@ void initialize_cpus(struct bus *cpu_bus) if (is_smp_boot()) wait_other_cpus_stop(cpu_bus); - smm_init_completion(); + if (CONFIG(SMM_LEGACY_ASEG)) + smm_init_completion(); if (is_smp_boot()) recover_lowest_1M(); |