diff options
author | cracauer <cracauer@FreeBSD.org> | 1999-07-25 13:16:09 +0000 |
---|---|---|
committer | cracauer <cracauer@FreeBSD.org> | 1999-07-25 13:16:09 +0000 |
commit | 36a7b829a04919c4ca14a6e4fe1bf3797c135a82 (patch) | |
tree | 8748ed38e03651976646062add8e82dac5601f42 /sys/i386/conf/LINT | |
parent | 1c17b991d77a8dc353f1efc23d293b80176cb18b (diff) | |
download | FreeBSD-src-36a7b829a04919c4ca14a6e4fe1bf3797c135a82.zip FreeBSD-src-36a7b829a04919c4ca14a6e4fe1bf3797c135a82.tar.gz |
On FPU exceptions, pass a useful error code (one of the FPE_...
macros) to the signal handler, for old-style BSD signal handlers as
the second (int) argument, for SA_SIGINFO signal handlers as
siginfo_t->si_code. This is source-compatible with Solaris, except
that we have no <siginfo.h> (which isn't even mentioned in POSIX
1003.1b).
An rather complete example program is at
http://www3.cons.org/cracauer/freebsd-signal.c
This will be added to the regression tests in src/.
This commit also adds code to disable the (hardware) FPU from
userconfig, so that you can use a software FP emulator on a machine
that has hardware floating point. See LINT.
Diffstat (limited to 'sys/i386/conf/LINT')
-rw-r--r-- | sys/i386/conf/LINT | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/sys/i386/conf/LINT b/sys/i386/conf/LINT index 51c1411..e71cac9 100644 --- a/sys/i386/conf/LINT +++ b/sys/i386/conf/LINT @@ -2,7 +2,7 @@ # LINT -- config file for checking all the sources, tries to pull in # as much of the source tree as it can. # -# $Id: LINT,v 1.617 1999/07/09 04:29:56 wpaul Exp $ +# $Id: LINT,v 1.618 1999/07/25 04:32:44 wpaul Exp $ # # NB: You probably don't want to try running a kernel built from this # file. Instead, you should start from GENERIC, and add options from @@ -956,18 +956,20 @@ options SC_NO_HISTORY options SC_NO_SYSMOUSE # -# The Numeric Processing eXtension driver. This should be configured if -# your machine has a math co-processor, unless the coprocessor is very -# buggy. If it is not configured then you *must* configure math emulation -# (see above). If both npx0 and emulation are configured, then only npx0 -# is used (provided it works). +# The Numeric Processing eXtension driver. In addition to this, you +# may configure a math emulator (see above). If your machine has a +# hardware FPU and the kernel configuration includes the npx device +# *and* a math emulator compiled into the kernel, the hardware FPU +# will be used, unless it is found to be broken or unless "flags" to +# npx0 includes "0x08", which requests preference for the emulator. device npx0 at nexus? port IO_NPX flags 0x0 irq 13 # # `flags' for npx0: -# 0x01 don't use the npx registers to optimize bcopy -# 0x02 don't use the npx registers to optimize bzero +# 0x01 don't use the npx registers to optimize bcopy. +# 0x02 don't use the npx registers to optimize bzero. # 0x04 don't use the npx registers to optimize copyin or copyout. +# 0x08 use emulator even if hardware FPU is available. # The npx registers are normally used to optimize copying and zeroing when # all of the following conditions are satisfied: # I586_CPU is an option @@ -978,6 +980,9 @@ device npx0 at nexus? port IO_NPX flags 0x0 irq 13 # The flags can be used to control cases where it doesn't work or is slower. # Setting them at boot time using userconfig works right (the optimizations # are not used until later in the bootstrap when npx0 is attached). +# Flag 0x08 does not imply any settings of the other flags, you may run +# with FPU preference set to emulator, but still using the i586 optimized +# memory routines. # # @@ -1149,6 +1154,7 @@ device sio0 at isa? port IO_COM1 flags 0x10 irq 4 # higher priority console). This replaces the COMCONSOLE option. # 0x40 reserve this unit for low level console operations. Do not # access the device in any normal way. +# 0x80 use this port for serial line gdb support in ddb. # # PnP `flags' (set via userconfig using pnp x flags y) # 0x1 disable probing of this device. Used to prevent your modem |