All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/1] x86: Use x2apic physical mode based on FADT setting
@ 2012-04-25  0:23 Greg Pearson
  2012-04-25  1:45 ` Suresh Siddha
  2012-04-25 13:57 ` [tip:x86/urgent] x86/apic: " tip-bot for Greg Pearson
  0 siblings, 2 replies; 3+ messages in thread
From: Greg Pearson @ 2012-04-25  0:23 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, x86
  Cc: Suresh Siddha, linux-kernel, Greg Pearson

Provide systems that do not support x2apic cluster mode
a mechanism to select x2apic physical mode using the
FADT FORCE_APIC_PHYSICAL_DESTINATION_MODE bit.

Changes from v1: (based on Suresh's comments)
- removed #ifdef CONFIG_ACPI
- removed #include <linux/acpi.h>

Signed-off-by: Greg Pearson <greg.pearson@hp.com>
---
 arch/x86/kernel/apic/x2apic_phys.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/arch/x86/kernel/apic/x2apic_phys.c b/arch/x86/kernel/apic/x2apic_phys.c
index 8a778db..991e315 100644
--- a/arch/x86/kernel/apic/x2apic_phys.c
+++ b/arch/x86/kernel/apic/x2apic_phys.c
@@ -24,6 +24,12 @@ static int x2apic_acpi_madt_oem_check(char *oem_id, char *oem_table_id)
 {
 	if (x2apic_phys)
 		return x2apic_enabled();
+	else if ((acpi_gbl_FADT.header.revision >= FADT2_REVISION_ID) &&
+		(acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL) &&
+		x2apic_enabled()) {
+		printk(KERN_DEBUG "System requires x2apic physical mode\n");
+		return 1;
+	}
 	else
 		return 0;
 }
-- 
1.7.5.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-04-25 13:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-25  0:23 [PATCH v2 1/1] x86: Use x2apic physical mode based on FADT setting Greg Pearson
2012-04-25  1:45 ` Suresh Siddha
2012-04-25 13:57 ` [tip:x86/urgent] x86/apic: " tip-bot for Greg Pearson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.