]> err.no Git - linux-2.6/blobdiff - arch/x86/kernel/numaq_32.c
Merge branch 'core/locking' of git://git.kernel.org/pub/scm/linux/kernel/git/tip...
[linux-2.6] / arch / x86 / kernel / numaq_32.c
index 922be66668b8349b7be69d0130e9d81616da0164..5b20a5e7ac28933e8200c269880cc167603cafeb 100644 (file)
 #include <asm/topology.h>
 #include <asm/processor.h>
 #include <asm/mpspec.h>
+#include <asm/e820.h>
 
 #define        MB_TO_PAGES(addr) ((addr) << (20 - PAGE_SHIFT))
 
-int found_numaq;
-
 /*
  * Function: smp_dump_qct()
  *
@@ -61,6 +60,8 @@ static void __init smp_dump_qct(void)
                        node_end_pfn[node] = MB_TO_PAGES(
                                eq->hi_shrd_mem_start + eq->hi_shrd_mem_size);
 
+                       e820_register_active_regions(node, node_start_pfn[node],
+                                                       node_end_pfn[node]);
                        memory_present(node,
                                node_start_pfn[node], node_end_pfn[node]);
                        node_remap_size[node] = node_memmap_size_bytes(node,
@@ -92,12 +93,13 @@ int __init get_memcfg_numaq(void)
        return 1;
 }
 
-static int __init numaq_tsc_disable(void)
+void __init numaq_tsc_disable(void)
 {
+       if (!found_numaq)
+               return -1;
+
        if (num_online_nodes() > 1) {
                printk(KERN_DEBUG "NUMAQ: disabling TSC\n");
                setup_clear_cpu_cap(X86_FEATURE_TSC);
        }
-       return 0;
 }
-arch_initcall(numaq_tsc_disable);