summaryrefslogtreecommitdiffstats
path: root/sys/conf
diff options
context:
space:
mode:
authorcracauer <cracauer@FreeBSD.org>1999-07-25 13:16:09 +0000
committercracauer <cracauer@FreeBSD.org>1999-07-25 13:16:09 +0000
commit36a7b829a04919c4ca14a6e4fe1bf3797c135a82 (patch)
tree8748ed38e03651976646062add8e82dac5601f42 /sys/conf
parent1c17b991d77a8dc353f1efc23d293b80176cb18b (diff)
downloadFreeBSD-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/conf')
-rw-r--r--sys/conf/NOTES22
1 files changed, 14 insertions, 8 deletions
diff --git a/sys/conf/NOTES b/sys/conf/NOTES
index 51c1411..e71cac9 100644
--- a/sys/conf/NOTES
+++ b/sys/conf/NOTES
@@ -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
OpenPOWER on IntegriCloud