Intel MCE CMCI (一) 概述

Corrected machine-check error interrupt (CMCI) 是MCA的增强特性。在原来的芯片里面,都是使用一种叫做 threshold-based error reporting的机制来处理corrected error. 但是 threshold-based error reporting需要系统软件周期性的轮询检测硬件的 corrected MC errors,造成CPU的浪费。 CMCI 提供了一种机制,当 corrected error发生侧次数到达阀值的时候,就会发送一个信号给本地的CPU来通知系统软件。当然,系统软件可以通过 IA32_MCi_CTL2 MSRs来控制该特性的开关

默认的情况下,CMCI是被禁止的。 在 IA32_MCG_CAP[10] = 1的情况下,系统软件需要使能每一个bank的 IA32_MCi MSR的 CMCI位来让芯片通过中断报告 hardware corrected errors

系统软件可以通过 IA32_MCi_CTL2 MSR来分别开关每个bank的CMCI特性,并且可以对 IA32_MCi_CTL2 MSR中的阀值数进行设置。 CR4.MCE的值和 IA32_MCi_CTL MSR的值不会影响到CMCI特性

可以通过向 IA32_MCi_CTL2[14:0]中写入希望的阀值的方法,来探 知某个bank中是否已经设置了阀值。如果可以写入并保存,则该bank支持设置阀值(同时CMCI也一定是支持的)。如果写入后,I A32_MCi_CTL2[14:0]都是0,那么就不支持设置阀值。同样,软件向 MCi_CTL2[30]写入1,来判断是否可以发送CMCI新号。如果写入后, MCi_CTL2[30]=0,那么该BANK就不支持CMCI,如果 MCi_CTL2[30]=1,那么CMCI就是支持并使能的。


Intel MCE CMCI (一) 概述_第1张图片


相关文章

MACHINE-CHECK 相关的MSR(三) - Error-Reporting Register Banks  

你可能感兴趣的:(硬件知识)