<分区>
我需要在 Intel(R) Xeon(R) CPU E3-1225 v5 @ 3.30GHz 上启用 x2apic,我发现 cpuinfo 支持 x2apic:
但是当内核启动时,我发现错误信息:
[0.138328]IRQ 重映射不支持 X2APIC 模式,禁用 x2apic。
我检查了我的内核配置:
CONFIG_X86_X2APIC=y
我该怎么做才能解决这个问题?
标签 linux-kernel
<分区>
我需要在 Intel(R) Xeon(R) CPU E3-1225 v5 @ 3.30GHz 上启用 x2apic,我发现 cpuinfo 支持 x2apic:
但是当内核启动时,我发现错误信息:
[0.138328]IRQ 重映射不支持 X2APIC 模式,禁用 x2apic。
我检查了我的内核配置:
CONFIG_X86_X2APIC=y
我该怎么做才能解决这个问题?
最佳答案
我个人认为此错误消息具有误导性。
内容:IRQ 重映射不支持 X2APIC 模式,禁用 x2apic。
实际含义:IRQ 重映射未启用,因此 x2APIC 已禁用。
解决方法是打开IRQ重映射。在您的内核配置中设置 CONFIG_IRQ_REMAP=y
并重新编译它。
x2APIC 要求启用 IOMMU 并启用 IRQ 重新映射。
CONFIG_INTEL_IOMMU=y
CONFIG_AMD_IOMMU=y
和 CONFIG_AMD_IOMMU_V2=y
CONFIG_X86_X2APIC=y
CONFIG_IRQ_REMAP=y
因此,如果 x2APIC 需要 IRQ 重新映射,那么究竟如何才能得到一个具有 x2APIC 支持但没有 IRQ 重新映射的内核?好吧,如果您查看 CONFIG_X86_X2APIC 的依赖项,您会发现它需要 X86_LOCAL_APIC && X86_64 && (IRQ_REMAP || HYPERVISOR_GUEST)
因此,如果您的内核构建为支持在管理程序下运行,那么您很可能无法启用 IRQ 重新映射选项。 (我正是这样做的。糟糕!在我为“IRQ 重新映射不支持 X2APIC 模式,禁用 x2apic”消息搜索内核源代码之前,弄清楚出了什么问题是非常令人困惑的,此时它变得相对简单明了解决问题。)
关于linux-kernel - 内核错误 : IRQ remapping doesn't support X2APIC mode, 禁用 x2apic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60219639/