From 1b25c8efcae2954b86040083f38ffc4cdc765ecc Mon Sep 17 00:00:00 2001 From: Pratik Prajapati Date: Fri, 18 May 2018 18:07:25 -0700 Subject: soc/intel/skylake: clear MCA before booting to OS mca_configure needs to be called for each core before booting to OS, else OS would keep dumping MCEs Change-Id: I95ca46fda7be65d74714bdb344e339922cbb6305 Signed-off-by: Pratik Prajapati Reviewed-on: https://review.coreboot.org/26392 Tested-by: build bot (Jenkins) Reviewed-by: Nick Vaccaro --- src/soc/intel/skylake/finalize.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/soc/intel') diff --git a/src/soc/intel/skylake/finalize.c b/src/soc/intel/skylake/finalize.c index 12dbab4814..4c8a1299a8 100644 --- a/src/soc/intel/skylake/finalize.c +++ b/src/soc/intel/skylake/finalize.c @@ -2,7 +2,7 @@ * This file is part of the coreboot project. * * Copyright (C) 2014 Google Inc. - * Copyright (C) 2015 Intel Corporation. + * Copyright (C) 2015-2018 Intel Corporation. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,8 +19,10 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -35,6 +37,7 @@ #include #include #include +#include #define PSF_BASE_ADDRESS 0xA00 #define PCR_PSFX_T0_SHDW_PCIEN 0x1C @@ -136,6 +139,9 @@ static void soc_finalize(void *unused) pch_finalize_script(dev); + printk(BIOS_DEBUG, "Clearing MCA.\n"); + mp_run_on_all_cpus(mca_configure, NULL, 17 * USECS_PER_SEC); + soc_lockdown(dev); printk(BIOS_DEBUG, "Finalizing SMM.\n"); -- cgit v1.2.3