X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fi386%2Fkernel%2Fnumaq.c;h=9000d82c6dc0a784de020d1723ae75522bee9082;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=0ee22fcb12d152f80f922580c4ea85d6db576e93;hpb=6a77f38946aaee1cd85eeec6cf4229b204c15071;p=linux-2.6.git diff --git a/arch/i386/kernel/numaq.c b/arch/i386/kernel/numaq.c index 0ee22fcb1..9000d82c6 100644 --- a/arch/i386/kernel/numaq.c +++ b/arch/i386/kernel/numaq.c @@ -23,16 +23,14 @@ * Send feedback to */ -#include #include #include #include #include #include #include - -/* These are needed before the pgdat's are created */ -extern long node_start_pfn[], node_end_pfn[]; +#include +#include #define MB_TO_PAGES(addr) ((addr) << (20 - PAGE_SHIFT)) @@ -59,6 +57,12 @@ static void __init smp_dump_qct(void) eq->hi_shrd_mem_start - eq->priv_mem_size); node_end_pfn[node] = MB_TO_PAGES( eq->hi_shrd_mem_start + eq->hi_shrd_mem_size); + + memory_present(node, + node_start_pfn[node], node_end_pfn[node]); + node_remap_size[node] = node_memmap_size_bytes(node, + node_start_pfn[node], + node_end_pfn[node]); } } } @@ -73,3 +77,13 @@ int __init get_memcfg_numaq(void) smp_dump_qct(); return 1; } + +static int __init numaq_tsc_disable(void) +{ + if (num_online_nodes() > 1) { + printk(KERN_DEBUG "NUMAQ: disabling TSC\n"); + tsc_disable = 1; + } + return 0; +} +arch_initcall(numaq_tsc_disable);