Intel MCE CMCI (一) 概述

本文介绍了Correctedmachine-checkerrorinterrupt (CMCI)这一MCA增强特性。CMCI可以在correctederror达到一定阈值时,通过中断通知本地CPU。系统软件可通过IA32_MCi_CTL2MSRs控制此特性。默认情况下,CMCI处于禁用状态,需手动开启。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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就是支持并使能的。



相关文章

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值