summaryrefslogtreecommitdiff
path: root/src/soc
diff options
context:
space:
mode:
authorFelix Held <felix-coreboot@felixheld.de>2021-07-13 16:44:18 +0200
committerFelix Held <felix-coreboot@felixheld.de>2021-07-14 17:33:34 +0000
commitacbf1541eeedec58ce8a31c6847b2296f40bf4bd (patch)
treefb9ad109c676793801e824707f6f8d0d6c2cc9b1 /src/soc
parentbf1f1df41ba998a1c3898cd513a47ebdfd05609d (diff)
src: use mca_clear_status function instead of open coding
Change-Id: I53413b4051b79d7c2f24b1191ce877155e654400 Signed-off-by: Felix Held <felix-coreboot@felixheld.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/56259 Reviewed-by: Raul Rangel <rrangel@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc')
-rw-r--r--src/soc/amd/stoneyridge/mca.c12
-rw-r--r--src/soc/intel/common/block/cpu/cpulib.c5
2 files changed, 2 insertions, 15 deletions
diff --git a/src/soc/amd/stoneyridge/mca.c b/src/soc/amd/stoneyridge/mca.c
index 0773101a29..e0c2791c2e 100644
--- a/src/soc/amd/stoneyridge/mca.c
+++ b/src/soc/amd/stoneyridge/mca.c
@@ -186,18 +186,8 @@ static void mca_check_all_banks(void)
}
}
-static void mca_clear_errors(void)
-{
- const unsigned int num_banks = mca_get_bank_count();
- const msr_t msr = {.lo = 0, .hi = 0};
-
- /* Zero all machine check error status registers */
- for (unsigned int i = 0 ; i < num_banks ; i++)
- wrmsr(IA32_MC_STATUS(i), msr);
-}
-
void check_mca(void)
{
mca_check_all_banks();
- mca_clear_errors();
+ mca_clear_status();
}
diff --git a/src/soc/intel/common/block/cpu/cpulib.c b/src/soc/intel/common/block/cpu/cpulib.c
index a245824821..93725132b2 100644
--- a/src/soc/intel/common/block/cpu/cpulib.c
+++ b/src/soc/intel/common/block/cpu/cpulib.c
@@ -336,17 +336,14 @@ uint32_t cpu_get_max_turbo_ratio(void)
void mca_configure(void)
{
- msr_t msr;
int i;
const unsigned int num_banks = mca_get_bank_count();
printk(BIOS_DEBUG, "Clearing out pending MCEs\n");
- msr.lo = msr.hi = 0;
+ mca_clear_status();
for (i = 0; i < num_banks; i++) {
- /* Clear the machine check status */
- wrmsr(IA32_MC_STATUS(i), msr);
/* Initialize machine checks */
wrmsr(IA32_MC_CTL(i),
(msr_t) {.lo = 0xffffffff, .hi = 0xffffffff});