lkml.org 
[lkml]   [2010]   [Jul]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] acpi: x2apic entry with uid < 255 could use processor statement

According to Intel x2apic spec page 46

" The hand-off to
OSPM will have processor IDs in the range of 0 to 254 for xAPIC/x2APIC and 0 to 255
for SAPIC declared as either Processor() or Device() objects, but not both. Processor
IDs outside these ranges must be declared as Device() objects."

So only check if Device is used when acpi_id >=255.

that will help system with less 255 cpus, but some cpus apic id > 255,
still can use Processor statement instead of Device() objects.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>

---
drivers/acpi/processor_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6/drivers/acpi/processor_core.c
===================================================================
--- linux-2.6.orig/drivers/acpi/processor_core.c
+++ linux-2.6/drivers/acpi/processor_core.c
@@ -69,7 +69,7 @@ static int map_x2apic_id(struct acpi_sub
if (!(apic->lapic_flags & ACPI_MADT_ENABLED))
return 0;

- if (device_declaration && (apic->uid == acpi_id)) {
+ if ((device_declaration || (acpi_id < 255)) && (apic->uid == acpi_id)) {
*apic_id = apic->local_apic_id;
return 1;
}

\
 
 \ /
  Last update: 2010-07-31 08:55    [W:0.925 / U:0.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site