X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Facpi%2Fnuma.c;h=9bfce46cd435e20c2fb062d1c10c89a4d4ffa19e;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=1f63b4d7109eb1c5d0cec02dd56667df52ec96d9;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/drivers/acpi/numa.c b/drivers/acpi/numa.c index 1f63b4d71..9bfce46cd 100644 --- a/drivers/acpi/numa.c +++ b/drivers/acpi/numa.c @@ -22,7 +22,7 @@ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * */ - +#include #include #include #include @@ -184,18 +184,30 @@ acpi_numa_init() result = acpi_table_parse_srat(ACPI_SRAT_MEMORY_AFFINITY, acpi_parse_memory_affinity, NR_NODE_MEMBLKS); // IA64 specific - } else { - /* FIXME */ - printk("Warning: acpi_table_parse(ACPI_SRAT) returned %d!\n",result); } /* SLIT: System Locality Information Table */ result = acpi_table_parse(ACPI_SLIT, acpi_parse_slit); - if (result < 1) { - /* FIXME */ - printk("Warning: acpi_table_parse(ACPI_SLIT) returned %d!\n",result); - } acpi_numa_arch_fixup(); return 0; } + +int +acpi_get_pxm(acpi_handle h) +{ + unsigned long pxm; + acpi_status status; + acpi_handle handle; + acpi_handle phandle = h; + + do { + handle = phandle; + status = acpi_evaluate_integer(handle, "_PXM", NULL, &pxm); + if (ACPI_SUCCESS(status)) + return (int)pxm; + status = acpi_get_parent(handle, &phandle); + } while(ACPI_SUCCESS(status)); + return -1; +} +EXPORT_SYMBOL(acpi_get_pxm);