On Thu, Jul 11, 2002 at 02:46:24AM -0600, Eric Anholt wrote: > A while ago I added the stuff to the config/cf/* to enable USE_SSE_ASM > on FreeBSD, but today found that it wasn't enabled on my athlon. I > added the proper sysctl check for it, but it still wasn't enabled. It > turns out the Athlon's extended CPUID function has most of the same > feature bits as the standard CPUID features function, but it doesn't > ever enable the SSE bit. I've made a patch that ORs in the bit from the > standard function, enabling SSE on new Athlons. It's attached.
A better fix would be to actually enable SSE before FreeBSD does its feature flag detection. Linux does the following very early on.. /* Bit 15 of Athlon specific MSR 15, needs to be 0 * to enable SSE on Palomino/Morgan CPU's. * If the BIOS didn't enable it already, enable it * here. */ if (c->x86_model == 6 || c->x86_model == 7) { if (!cpu_has(c, X86_FEATURE_XMM)) { printk(KERN_INFO "Enabling disabled K7/SSE Support.\n"); rdmsr(MSR_K7_HWCR, l, h); l &= ~0x00008000; wrmsr(MSR_K7_HWCR, l, h); set_bit(X86_FEATURE_XMM, c->x86_capability); } } Seems some BIOSen didn't enable this magical bit. Your patch is just doing the FreeBSD equivalent of the set_bit() call above, which is fine for anything that parses those flags, but breaks any userspace that does its own cpuid() calls to find out cpu capabilities. Dave -- | Dave Jones. http://www.codemonkey.org.uk | SuSE Labs ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Gadgets, caffeine, t-shirts, fun stuff. http://thinkgeek.com/sf _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel