On Sat, 2010-07-31 at 07:51 +0100, Yinghai Lu wrote: > 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. But the entries with apic_id < 255 are supposed to use local APIC structure and not local x2apic structure. So entries with apic id < 255 must be processed using map_lapic_id() which doesn't have any device_declaration checks. Only for apic ids > 255, we use map_x2apic_id() which needs device declaration. So this patch is not needed. or Am I missing something? thanks, suresh > > Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> > > --- > 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; > } -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html