Date: Wed, 26 Mar 97 05:59:53 -0500 From: cr@jcmax.com (Cyrus Rahman) To: smp@freebsd.org Subject: APIC_IO and the fpu Message-ID: <9703261059.AA21640@corona.jcmax.com>
next in thread | raw e-mail | index | archive | help
>> >It looks to me that the problem with the fpu stuff might be more a >> >function of FPU error handling (irq13 vs. IDT trap #16) rather than just >> >plain floating point operations... >> >> I agree, and think that someone could find it by examining what goes on >> in i386/isa/npx.c:mpxintr(). > >A further thought, its possible that it could be APIC_IO related, could >someone run this program on both an APIC_IO and non APIC_IO kernel >to see if it locks both (I don't have an SMP machine anymore)? > >> ======================================================================== >> #include <sys/types.h> >> #include <signal.h> >> void blech() { exit(3); } >> main() >> { >> int i32; >> double f; >> int result = 0; >> signal(SIGFPE, blech); >> >> f = (double) 0x7fffffff; >> f = 10 * f; >> i32 = (int) f; >> >> if (i32 != (int) f) >> result |= 1; >> exit(result); >> } >> ======================================================================== > >-- >Steve Passe | powered by >smp@csn.net | FreeBSD The code runs fine with APIC_IO off, but locks the machine up quite nicely with it on. I'm not sure what causes the problem yet... Cyrus
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9703261059.AA21640>