
---
In message <19970123224357.1877.qmail@mpress.com>, brian@mediacity.com writes:
>The following is a kludge:
>
>I made the enclosed changes to npx.c to force the npx driver
>to fail to detect the FPU.  This results in the kernel using
>software FPU emulation, and the attached program no longer
>freezes the system.
>
>For those interested, if you have an FPU the npx driver will
>use it regardless of the GPL_MATH_EMULATE or MATH_EMULATE
>options being present in your config.
>

This should be a flag to npx0 so it can be set in userconfig (boot -c)

--
Poul-Henning Kamp           | phk@FreeBSD.ORG       FreeBSD Core-team.
http://www.freebsd.org/~phk | phk@login.dknet.dk    Private mailbox.
whois: [PHK]                | phk@tfs.com           TRW Financial Systems, Inc.
Power and ignorance is a disgusting cocktail.


---

>>The following is a kludge:
>>
>>I made the enclosed changes to npx.c to force the npx driver
>>to fail to detect the FPU.  This results in the kernel using
>...
>This should be a flag to npx0 so it can be set in userconfig (boot -c)

There is already a `disable' flag for npx0.  This has the same bug as
the patch: nothing sets CR0_MP.  CR0_MP must be set to prevent subtle
errors involving `fwait' with emulators like the GPL math emulator that
actually emulate `fwait' properly (see npx.c).

Removing npx0 from the config file should not-quite-work in the same
way as disabling npx0, but I recently broke this when I added the memory
address size hack in machdep.c.

Bruce
