X86 为什么增强型MCA gen2选择在固件优先错误处理模式中触发SMI/SCI?

X86 为什么增强型MCA gen2选择在固件优先错误处理模式中触发SMI/SCI?,x86,interrupt,interrupt-handling,X86,Interrupt,Interrupt Handling,在本白皮书中: 我在下面看到了本机MCA型号和增强型MCA固件第一型号之间的信号差异: 对于第一行中的处理器CE: 本机型号使用CMC(更正的机器检查中断)发送信号。CMCI由各自的MCA银行报告,并通过本地APIC的LVT(本地向量表)进行处理。所有这些都发生在处理器内部 触发固件第一型号SMI/SCI,而不是CMC。但据我所知,SMI/SCI必须通过PCH芯片组触发,这意味着离开处理器,一直到PCH,然后将SCI/SMI触发回处理器 那么为什么我们需要这么长的往返行程呢?还是我误解了什

在本白皮书中:

我在下面看到了本机MCA型号和增强型MCA固件第一型号之间的信号差异:

对于第一行中的处理器CE:

  • 本机型号使用CMC(更正的机器检查中断)发送信号。CMCI由各自的MCA银行报告,并通过本地APIC的LVT(本地向量表)进行处理。所有这些都发生在处理器内部

  • 触发固件第一型号SMI/SCI,而不是CMC。但据我所知,SMI/SCI必须通过PCH芯片组触发,这意味着离开处理器,一直到PCH,然后将SCI/SMI触发回处理器


那么为什么我们需要这么长的往返行程呢?还是我误解了什么?

ACPI平台错误接口(APEI)定义了两种模型来处理机器错误:固件1和操作系统本机

前者首先将错误情况路由到主机固件,这样板制造商可以尝试恢复和/或记录错误信息。
后者将错误直接导向操作系统

这些方法在本地方式下是互斥的,但在全局范围内不是互斥的,特定的错误条件可能是固件1,而另一种可能是操作系统本机的

在Firmware 1st型号中,固件配置每个硬件错误源(如ECC DIMM的DRAM控制器)以生成SMI。
这将调用SMM固件,为制造商提供处理错误的入口点。
最后,固件使用SCI或NMI向操作系统报告错误

在Firmware 1st型号中,所有错误最初都是 通过SMI或其他通用输入(GPI)事件向主机固件发送信号。
然后主持 固件分析并决定要做什么,并在流程结束时创建详细的APEI 将FRU信息记录到操作系统的错误日志。
最后,主机固件将向操作系统发出关于 通过SCI、NMI或其他中断存在错误

请注意,表的第一行显示了用于发出错误信号的事件,但没有显示硬件的实际配置方式

注意我在这方面毫无经验

在检测到可配置的CE阈值后,处理器可纠正错误(CE)均通过可纠正机器检查中断(CMCI)发出信号。
CMCI在LAPIC LVT(本地审查表)中有自己的条目

我相信这是处理器CE的唯一硬件来源。
从理论上讲,有一个相对于核心的外部硬件单元来检测这些错误是可能的,但我感觉整个画面比这更简洁

因此,所有处理器CE错误都会生成CMCI。
在Firmware 1st型号中,对固件导出的ACPI方法进行编码,以配置CMCI条目以生成SMI(请记住,LACPI IVT条目可以生成不同类型的中断,包括SMI)。
在OS本机模型中,ACPI方法不涉及CMCI

SMI是让固件进入流程的唯一方式,它正是为此目的而设计的,所有其他中断都由操作系统处理。
一旦固件处于控制状态并完成检查,它可以指示PCH生成SCI

在Firmware 1st型号中,流必须“退出”处理器,因为我们要处理对固件的控制。
为了“重新引导它进入”处理器,固件需要生成一个中断;理论上,它可以将SCI系统向量解析为CPU本地向量,但这是不可靠的,更好的方法是通过PCH生成真正的SCI

我把整个事情想象成

其中红色箭头表示操作系统本机流程,蓝色箭头表示固件第一流程。

在后一种情况下,我们选择更长的行程,以便固件有机会对错误采取行动

ACPI平台错误接口(APEI)定义了两种处理机器错误的模型:固件1和操作系统本机

前者首先将错误情况路由到主机固件,这样板制造商可以尝试恢复和/或记录错误信息。
后者将错误直接导向操作系统

这些方法在本地方式下是互斥的,但在全局范围内不是互斥的,特定的错误条件可能是固件1,而另一种可能是操作系统本机的

在Firmware 1st型号中,固件配置每个硬件错误源(如ECC DIMM的DRAM控制器)以生成SMI。
这将调用SMM固件,为制造商提供处理错误的入口点。
最后,固件使用SCI或NMI向操作系统报告错误

在Firmware 1st型号中,所有错误最初都是 通过SMI或其他通用输入(GPI)事件向主机固件发送信号。
然后主持 固件分析并决定要做什么,并在流程结束时创建详细的APEI 将FRU信息记录到操作系统的错误日志。
最后,主机固件将向操作系统发出关于 通过SCI、NMI或其他中断存在错误

请注意,表的第一行显示了用于发出错误信号的事件,但没有显示硬件的实际配置方式

注意我在这方面毫无经验

在检测到可配置的CE阈值后,处理器可纠正错误(CE)均通过可纠正机器检查中断(CMCI)发出信号。
CMCI在LAPIC LVT(本地审查表)中有自己的条目

我相信这是处理器CE的唯一硬件来源。
从理论上讲,有一个外部的,相对于