lkml.org 
[lkml]   [2012]   [Dec]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: Why Linux kernel forced to enter X2APIC mode( just because of booting cpu has supported x2apic) without depending on BIOS' setting in MSR->x2apic enablement bit ?
From
On Tue, Dec 18, 2012 at 1:50 AM, Zhang, Lin-Bao (Linux Kernel R&D)
<linbao.zhang@hp.com> wrote:
> Hi Suresh and other guys ,
>
> In 3.4.4/3.6.6 ,I found a x2apic issue . if I am wrong , sorry first , and welcome your correction . thanks for your forwarding other maintainers.
> I am testing a server , its BIOS is like this:
> a) If BIOS think the system is of x2apic , it will set x2apic enablement bit in MSR and create x2apic ACPI tables and pass control to OS with x2apic mode

kernel will check if DMAR table is right or not, if intr-remapping
could be enabled, kernel will stay with x2apic.
if intr-remapping can not be enabled (bad dmar table), kernel will
switch back to xapic mode, but if BSP's X2APIC is
bigger than 255, then you will get kernel panic.

> b) If BIOS feel the system doesn't meet x2apic conditions , it will not set x2apic enablement bit in MSR ,and pass control to OS with xapic mode.

kernel will check if cpuid support x2apic, if it supports x2apic, it
will check if DMAR/intr-remapping could be enabled, if so
kernel will switch to x2apic. otherwise it will stay with xapic.

So you need to make cpuid show does not support x2apic --- check with
intel they have way to do that.
or you can pass "nox2apic" in boot command line.

Yinghai


\
 
 \ /
  Last update: 2012-12-18 19:21    [W:0.136 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site