From: Henry N. <Hen...@Ar...> - 2006-08-18 07:37:26
|
Hello, Henry Nestler wrote: > Error was reported from Intel Pentium, not from AMD Athlon. > Xeon 3.2GHz CPU with hyper-threading, 2GB RAM > > Is that only an Problem on Intel CPU? > > http://wiki.colinux.org/cgi-bin/NoExecuteDEP is this hardware prefetching the condition for crashing on such Intel CPU? Anybody, please run a native linux with kernel >= 2.6.8 on Xeon CPU and check for the message "Errata 037". If this was printed, the coLinux switching code should also handle this special case? What is the "Errata 037"? Kernel Source linux-2.6.8/arch/i386/kernel/cpu/intel.c:117 Kernel Source linux-2.6.12/arch/i386/kernel/cpu/intel.c:64 /* * P4 Xeon errata 037 workaround. * Hardware prefetcher may cause stale data to be loaded into the cache. */ static void __devinit Intel_errata_workarounds(struct cpuinfo_x86 *c) { unsigned long lo, hi; if ((c->x86 == 15) && (c->x86_model == 1) && (c->x86_mask == 1)) { rdmsr (MSR_IA32_MISC_ENABLE, lo, hi); if ((lo & (1<<9)) == 0) { printk (KERN_INFO "CPU: C0 stepping P4 Xeon detected.\n"); printk (KERN_INFO "CPU: Disabling hardware prefetching (Errata 037)\n"); lo |= (1<<9); /* Disable hw prefetching */ wrmsr (MSR_IA32_MISC_ENABLE, lo, hi); } } } __ Henry |