[IA64] support for cpu0 removal
[deliverable/linux.git] / arch / ia64 / kernel / acpi.c
index 28a4529fdd60aed47c0cc2824ad381f763a73c2e..fe1d90b0c6eaaab91be6de32342c02bc507a6c12 100644 (file)
@@ -287,16 +287,20 @@ acpi_parse_plat_int_src(acpi_table_entry_header * header,
 unsigned int can_cpei_retarget(void)
 {
        extern int cpe_vector;
+       extern unsigned int force_cpei_retarget;
 
        /*
         * Only if CPEI is supported and the override flag
         * is present, otherwise return that its re-targettable
         * if we are in polling mode.
         */
-       if (cpe_vector > 0 && !acpi_cpei_override)
-               return 0;
-       else
-               return 1;
+       if (cpe_vector > 0) {
+               if (acpi_cpei_override || force_cpei_retarget)
+                       return 1;
+               else
+                       return 0;
+       }
+       return 1;
 }
 
 unsigned int is_cpu_cpei_target(unsigned int cpu)
@@ -838,7 +842,7 @@ EXPORT_SYMBOL(acpi_unmap_lsapic);
 #endif                         /* CONFIG_ACPI_HOTPLUG_CPU */
 
 #ifdef CONFIG_ACPI_NUMA
-acpi_status __devinit
+static acpi_status __devinit
 acpi_map_iosapic(acpi_handle handle, u32 depth, void *context, void **ret)
 {
        struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
@@ -890,7 +894,16 @@ acpi_map_iosapic(acpi_handle handle, u32 depth, void *context, void **ret)
        map_iosapic_to_node(gsi_base, node);
        return AE_OK;
 }
-#endif                         /* CONFIG_NUMA */
+
+static int __init
+acpi_map_iosapics (void)
+{
+       acpi_get_devices(NULL, acpi_map_iosapic, NULL, NULL);
+       return 0;
+}
+
+fs_initcall(acpi_map_iosapics);
+#endif                         /* CONFIG_ACPI_NUMA */
 
 int acpi_register_ioapic(acpi_handle handle, u64 phys_addr, u32 gsi_base)
 {
@@ -899,7 +912,7 @@ int acpi_register_ioapic(acpi_handle handle, u64 phys_addr, u32 gsi_base)
        if ((err = iosapic_init(phys_addr, gsi_base)))
                return err;
 
-#if CONFIG_ACPI_NUMA
+#ifdef CONFIG_ACPI_NUMA
        acpi_map_iosapic(handle, 0, NULL, NULL);
 #endif                         /* CONFIG_ACPI_NUMA */
 
This page took 0.025645 seconds and 5 git commands to generate.