x86, x2apic: Allow "nox2apic" to disable x2apic mode setup by BIOS
authorYinghai Lu <yinghai@kernel.org>
Fri, 23 Dec 2011 19:01:43 +0000 (11:01 -0800)
committerH. Peter Anvin <hpa@linux.intel.com>
Fri, 23 Dec 2011 19:01:43 +0000 (11:01 -0800)
commita31bc32760992a2c68f3d6bf7da9f760c0fd7c41
tree4a1d5a5944f120d213cfb118f369d3c6d4540a41
parentfb209bd891645bb87b9618b724f0b4928e0df3de
x86, x2apic: Allow "nox2apic" to disable x2apic mode setup by BIOS

Currently "nox2apic" boot parameter was not enabling x2apic mode if the cpu,
kernel are all capable of enabling x2apic mode and the OS handover
happened in xapic mode.

However If the bios enabled x2apic prior to OS handover, using "nox2apic"
boot parameter had no effect.

If the boot cpu's apicid is < 255, enable "nox2apic" boot parameter to
disable the x2apic mode setup by the bios. This will enable the kernel to
fallback to xapic mode and bringup only the cpu's which has apic-id < 255.

-v2: fix patch error and two compiling warning
make disable_x2apic to be __init

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Link: http://lkml.kernel.org/r/CAE9FiQUeB-3uxJAMiHsz=uPWoFv5Hg1pVepz7aU6YtqOxMC-=Q@mail.gmail.com
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/include/asm/apic.h
arch/x86/kernel/apic/apic.c