summaryrefslogtreecommitdiff
path: root/src/soc
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc')
-rw-r--r--src/soc/intel/denverton_ns/cpu.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/soc/intel/denverton_ns/cpu.c b/src/soc/intel/denverton_ns/cpu.c
index 7cee5be39d..1fd233a23a 100644
--- a/src/soc/intel/denverton_ns/cpu.c
+++ b/src/soc/intel/denverton_ns/cpu.c
@@ -2,6 +2,7 @@
#include <console/console.h>
#include <cpu/cpu.h>
+#include <cpu/x86/cr.h>
#include <cpu/x86/mp.h>
#include <cpu/x86/msr.h>
#include <cpu/x86/mtrr.h>
@@ -44,6 +45,12 @@ static void dnv_configure_mca(void)
of these banks are core vs package scope. For now every CPU clears
every bank. */
mca_configure();
+
+ /* TODO install a fallback MC handler for each core in case OS does
+ not provide one. Is it really needed? */
+
+ /* Enable the machine check exception */
+ write_cr4(read_cr4() | CR4_MCE);
}
static void denverton_core_init(struct device *cpu)