如何在多核处理器上访问CRx寄存器

时间:2011-09-09 16:35:06

标签: linux cpu

我需要为系统中的所有内核设置CR4.MCE位(4)。我想为此编写一个linux内核模块,但我不知道如何继续:如何顺序访问所有CR4寄存器?我已经阅读了英特尔手册,他们描述了一种初始化每个核心的方法,但这是在BIOS中完成的。 有什么想法吗?

2 个答案:

答案 0 :(得分:1)

MCE支持已存在于内核中;见CONFIG_X86_MCE

答案 1 :(得分:0)

为此,您需要运行代码以依次修改每个CPU上的%cr4。您可以修改SMP启动代码以在启动时执行此操作;或者如果你想在运行时这样做,你需要广播一个IPI(处理器间中断)并安排让每个处理器捕获IPI并运行你的代码。

相关问题