diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2019-05-28 10:00:05 +0200 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2019-06-21 08:42:36 +0000 |
commit | 04326aabcdccabf83064d585758c6d635b9f1a3b (patch) | |
tree | 5dc1fc6e8c730bc50fbe1ca4060c5b65dda9eb19 | |
parent | 7c05d2a6411ed11fa98fb7e85725c0b5dc82c442 (diff) |
sb/intel/ibexpeak/smihandler: Move finalizing to a common location
TODO: There is no reason to do this in SMM.
Change-Id: I8bbb2f65bbe674bd1bc4ae8a4086bd1f5e9a79fa
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/33139
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-by: HAOUAS Elyes <ehaouas@noos.fr>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r-- | src/mainboard/lenovo/x201/smihandler.c | 19 | ||||
-rw-r--r-- | src/mainboard/packardbell/ms2290/smihandler.c | 19 | ||||
-rw-r--r-- | src/southbridge/intel/ibexpeak/smihandler.c | 7 |
3 files changed, 7 insertions, 38 deletions
diff --git a/src/mainboard/lenovo/x201/smihandler.c b/src/mainboard/lenovo/x201/smihandler.c index fc6a0e9670..9043f8e18c 100644 --- a/src/mainboard/lenovo/x201/smihandler.c +++ b/src/mainboard/lenovo/x201/smihandler.c @@ -20,10 +20,7 @@ #include <cpu/x86/smm.h> #include <southbridge/intel/ibexpeak/nvs.h> #include <southbridge/intel/common/pmutil.h> -#include <southbridge/intel/ibexpeak/me.h> -#include <southbridge/intel/common/finalize.h> #include <northbridge/intel/nehalem/nehalem.h> -#include <cpu/intel/model_2065x/model_2065x.h> #include <ec/acpi/ec.h> #include <ec/lenovo/h8/h8.h> #include <delay.h> @@ -135,25 +132,9 @@ void mainboard_smi_gpi(u32 gpi_sts) mainboard_smi_handle_ec_sci(); } -static int mainboard_finalized = 0; - int mainboard_smi_apmc(u8 data) { switch (data) { - case APM_CNT_FINALIZE: - printk(BIOS_DEBUG, "APMC: FINALIZE\n"); - if (mainboard_finalized) { - printk(BIOS_DEBUG, "APMC#: Already finalized\n"); - return 0; - } - - intel_me_finalize_smm(); - intel_pch_finalize_smm(); - intel_nehalem_finalize_smm(); - intel_model_2065x_finalize_smm(); - - mainboard_finalized = 1; - break; case APM_CNT_ACPI_ENABLE: /* use 0x1600/0x1604 to prevent races with userspace */ ec_set_ports(0x1604, 0x1600); diff --git a/src/mainboard/packardbell/ms2290/smihandler.c b/src/mainboard/packardbell/ms2290/smihandler.c index 83562be921..dfc66f98cf 100644 --- a/src/mainboard/packardbell/ms2290/smihandler.c +++ b/src/mainboard/packardbell/ms2290/smihandler.c @@ -18,11 +18,8 @@ #include <cpu/x86/smm.h> #include <device/pci_ops.h> #include <southbridge/intel/ibexpeak/nvs.h> -#include <southbridge/intel/ibexpeak/me.h> -#include <southbridge/intel/common/finalize.h> #include <southbridge/intel/common/pmutil.h> #include <northbridge/intel/nehalem/nehalem.h> -#include <cpu/intel/model_2065x/model_2065x.h> #include <ec/acpi/ec.h> static void mainboard_smm_init(void) @@ -54,26 +51,10 @@ void mainboard_smi_gpi(u32 gpi_sts) { } -static int mainboard_finalized = 0; - int mainboard_smi_apmc(u8 data) { u8 tmp; switch (data) { - case APM_CNT_FINALIZE: - printk(BIOS_DEBUG, "APMC: FINALIZE\n"); - if (mainboard_finalized) { - printk(BIOS_DEBUG, "APMC#: Already finalized\n"); - return 0; - } - - intel_me_finalize_smm(); - intel_pch_finalize_smm(); - intel_nehalem_finalize_smm(); - intel_model_2065x_finalize_smm(); - - mainboard_finalized = 1; - break; case APM_CNT_ACPI_ENABLE: tmp = pci_read_config8(PCI_DEV(0, 0x1f, 0), 0xbb); tmp &= ~0x03; diff --git a/src/southbridge/intel/ibexpeak/smihandler.c b/src/southbridge/intel/ibexpeak/smihandler.c index dbc412c072..208075bbea 100644 --- a/src/southbridge/intel/ibexpeak/smihandler.c +++ b/src/southbridge/intel/ibexpeak/smihandler.c @@ -24,7 +24,10 @@ #include <elog.h> #include <halt.h> #include <pc80/mc146818rtc.h> +#include <cpu/intel/model_2065x/model_2065x.h> +#include <southbridge/intel/common/finalize.h> #include <southbridge/intel/common/pmbase.h> +#include <southbridge/intel/ibexpeak/me.h> #include "pch.h" #include "nvs.h" @@ -182,4 +185,8 @@ void southbridge_update_gnvs(u8 apm_cnt, int *smm_done) void southbridge_finalize_all(void) { + intel_me_finalize_smm(); + intel_pch_finalize_smm(); + intel_nehalem_finalize_smm(); + intel_model_2065x_finalize_smm(); } |