dwhite [Sun, 22 Aug 1999 21:45:24 +0000 (21:45 +0000)]
Major PicoBSD update by luigi with some debugging help from myself.
. Now builds on -STABLE (-CURRENT is broken due to bugs)
. etc directory contents centralized instead of in each
type directory (can exclude & override as desired)
. Removed extraneous language files (lang files for rc really necessary?)
. dialog-based build tool with support for custom floppy builds
. MFS image loads as a mfs_root module instead of compiled into kernel
THIS IS BROKEN ON CURRENT. I'll MFC to -STABLE immediately following.
luigi tells me I have an OK from jkh on the MFC.
peter [Sun, 22 Aug 1999 19:59:29 +0000 (19:59 +0000)]
Zap a heap of unused cruft now. We don't need the ISA/EISA/PCI hooks
here any more as they are self identifying. Only PNP remains but that
will be replaced any day now.
Also reword a comment that had been XXX'ed to death to make it clear[er]
why we don't enable interrupts before probing.
PCIBIOS interrupt routing controls may make this possible to fix one day.
peter [Sun, 22 Aug 1999 19:56:55 +0000 (19:56 +0000)]
Take advantage of the apm/npx code and let them identify themselves rather
than having explicit hooks here.
Treat the eisa/isa attach a little differently so that we defer the
decision about to attach eisa/isa to the motherboard directly only if
the PCI probe (if it exists) fails to turn up a PCI->EISA/ISA bridge.
This restores the original device geometry where ISA and/or EISA attach
to their bridge rather than bypassing and going to the root.
peter [Sun, 22 Aug 1999 19:54:11 +0000 (19:54 +0000)]
Make the identify routine add itself with priority 100 to make sure it
goes after the npx/apm devices and any other motherboard devices that
may get added down the track.
jdp [Sun, 22 Aug 1999 16:50:30 +0000 (16:50 +0000)]
Go back to using microtime() to get the timestamps for {f,l,}utimes(path,
NULL) for now. Bruce says I jumped the gun with my change in
revision 1.131, or maybe it should use nanotime(), or maybe it
shouldn't be decided in the VFS layer at all. I'm leaving it with
the old behavior until the Trans-Pacific Internet Vulcan Mind Meld
yields fuller understanding.
wpaul [Sun, 22 Aug 1999 16:34:52 +0000 (16:34 +0000)]
Mention that the 3Com 3cSOHO100-TX adapter (cheap version of the 3c905B) is
supported, as well as the 3c980B server adapter (newer rev of the 3c980,
same PCI ID) and the 3c905C-TX.
n_hibma [Sun, 22 Aug 1999 16:21:29 +0000 (16:21 +0000)]
1) Add HEADER section. Similar to CODE.
2) deindent the two sections (CODE and HEADER), based on the indent found
on the first line of the section; to make the output more readable.
wpaul [Sun, 22 Aug 1999 15:34:47 +0000 (15:34 +0000)]
Modify yp_mkdb so that it only checks for bogus '+' and '-' characters
in source input if the -f flag is used, and modify Makefile.yp to only
use -f for the passwd, master.passwd and group maps. These should be
the only ones for which the + and - characters have special meaning
that make it important for us to avoid letting them into any of the map
databases. In some cases (namely the automounter maps) we have to allow
at least the - character through in order to create the map properly.
iwasaki [Sun, 22 Aug 1999 14:48:00 +0000 (14:48 +0000)]
Fix `key release event prevent suspend' problem. We don't need
`sleep 1; zzz' trick now.
- APM BIOS Call for suspend/standby now should be issued with delay.
- Delay for suspend/standby can be adjusted by using sysctl(8) interface
(eg. sysctl -w machdep.apm_suspend_delay=3).
yokota [Sun, 22 Aug 1999 09:52:33 +0000 (09:52 +0000)]
- Remove cdevsw entry points in individual keyboard drivers;
instead, use generic entry points for all drivers.
- Eliminate bogus makedev().
- Eliminate softc in the lower drivers, as it is no longer necessary.
yokota [Sun, 22 Aug 1999 06:12:58 +0000 (06:12 +0000)]
Revise description on moused options:
- Clearly distinguish PS/2, bus, and serial protocols.
- Explicitly state that serial mouse protocols don't work with
the PS/2 and bus mice.
alc [Sun, 22 Aug 1999 05:37:18 +0000 (05:37 +0000)]
Make "s_unlock" an inline function. (Inlining this function takes
less space than calling it. A callable version still exists for
use by some assembly code.)
yokota [Sun, 22 Aug 1999 03:31:13 +0000 (03:31 +0000)]
Assorted bug fixes.
keyboard.c
- Call tcsetattr() in VGLKeyboardEnd() to restore tty, only when
tty attributes have been previously saved.
PR: misc/9524
Submitted by: Katusyuki 'kei' Maeda (kei@nanet.co.jp)
- Set up the tty raw mode correctly.
main.c
- Restore VESA_800x600 raster text mode correctly in VGLEnd().
Submitted by: des
text.c
- Allocate the correct size of a font buffer in VGLSetFontFile().
I forgot the submitter ;-(
simple.c, bitmap.c
- Fix address calculation for the VGA mode X in VGLGetXY() and
VGLBitmapCopy().
- Fix typo (dsty -> dstx) in __VGLBitmapCopy().
jdp [Sun, 22 Aug 1999 01:46:57 +0000 (01:46 +0000)]
Use the new vfs_timestamp() function to create the timestamps used
by utimes(path, NULL). This gives them the same precision as the
timestamps produced by write operations. Do likewise for lutimes()
and futimes().
jdp [Sun, 22 Aug 1999 00:15:16 +0000 (00:15 +0000)]
Support full-precision file timestamps. Until now, only the seconds
have been maintained, and that is still the default. A new sysctl
variable "vfs.timestamp_precision" can be used to enable higher
levels of precision:
0 = seconds only; nanoseconds zeroed (default).
1 = seconds and nanoseconds, accurate within 1/HZ.
2 = seconds and nanoseconds, truncated to microseconds.
>=3 = seconds and nanoseconds, maximum precision.
Level 1 uses getnanotime(), which is fast but can be wrong by up
to 1/HZ. Level 2 uses microtime(). It might be desirable for
consistency with utimes() and friends, which take timeval structures
rather than timespecs. Level 3 uses nanotime() for the higest
precision.
I benchmarked levels 0, 1, and 3 by copying a 550 MB tree with
"cpio -pdu". There was almost negligible difference in the system
times -- much less than 1%, and less than the variation among
multiple runs at the same level. Bruce Evans dreamed up a torture
test involving 1-byte reads with intervening fstat() calls, but
the cpio test seems more realistic to me.
This feature is currently implemented only for the UFS (FFS and
MFS) filesystems. But I think it should be easy to support it in
the others as well.
An earlier version of this was reviewed by Bruce. He's not to
blame for any breakage I've introduced since then.
msmith [Sat, 21 Aug 1999 22:10:49 +0000 (22:10 +0000)]
Clean up after removing sys/eventhandler.h from sys/systm.h at the last
minute. This should cover all of the missed cases (and should let LINT
build again).
green [Sat, 21 Aug 1999 18:35:55 +0000 (18:35 +0000)]
To christen the brand new security category for syslog, we get IPFW
using syslog(3) (log(9)) for its various purposes! This long-awaited
change also includes such nice things as:
* macros expanding into _two_ comma-delimited arguments!
* snprintf!
* more snprintf!
* linting and criticism by more people than you can shake a stick at!
* a slightly more uniform message style than before!
and last but not least
* no less than 5 rewrites!
wpaul [Sat, 21 Aug 1999 18:34:58 +0000 (18:34 +0000)]
This commit adds device driver support for the Sundance Technologies ST201
PCI fast ethernet controller. Currently, the only card I know that uses
this chip is the D-Link DFE-550TX. (Don't ask me where to buy these: the
only cards I have are samples sent to me by D-Link.)
This driver is the first to make use of the miibus code once I'm sure
it all works together nicely, I'll start converting the other drivers.
The Sundance chip is a clone of the 3Com 3c90x Etherlink XL design
only with its own register layout. Support is provided for ifmedia,
hardware multicast filtering, bridging and promiscuous mode.
green [Sat, 21 Aug 1999 18:24:29 +0000 (18:24 +0000)]
This is the addition of a syslog(3) security.* top-level category. This
should be used from now on for anything security but not auth-related.
Included are updates for all relevant manpages and also to /etc files,
creating a new /var/log/security. Nothing in the system logs to
/var/log/security yet as of the time of this commit.
wpaul [Sat, 21 Aug 1999 17:40:53 +0000 (17:40 +0000)]
This commit adds support for the NetBSD MII abstraction layer and
MII-compliant PHY drivers. Many 10/100 ethernet NICs available today
either use an MII transceiver or have built-in transceivers that can
be programmed using an MII interface. It makes sense then to separate
this support out into common code instead of duplicating it in all
of the NIC drivers. The mii code also handles all of the media
detection, selection and reporting via the ifmedia interface.
This is basically the same code from NetBSD's /sys/dev/mii, except
it's been adapted to FreeBSD's bus architecture. The advantage to this
is that it automatically allows everything to be turned into a
loadable module. There are some common functions for use in drivers
once an miibus has been attached (mii_mediachg(), mii_pollstat(),
mii_tick()) as well as individual PHY drivers. There is also a
generic driver for all PHYs that aren't handled by a specific driver.
It's possible to do this because all 10/100 PHYs implement the same
general register set in addition to their vendor-specific register
sets, so for the most part you can use one driver for pretty much
any PHY. There are a couple of oddball exceptions though, hence
the need to have specific drivers.
There are two layers: the generic "miibus" layer and the PHY driver
layer. The drivers are child devices of "miibus" and the "miibus" is
a child of a given NIC driver. The "miibus" code and the PHY drivers
can actually be compiled and kldoaded as completely separate modules
or compiled together into one module. For the moment I'm using the
latter approach since the code is relatively small.
Currently there are only three PHY drivers here: the generic driver,
the built-in 3Com XL driver and the NS DP83840 driver. I'll be adding
others later as I convert various NIC drivers to use this code.
I realize that I'm cvs adding this stuff instead of importing it
onto a separate vendor branch, but in my opinion the import approach
doesn't really offer any significant advantage: I'm going to be
maintaining this stuff and writing my own PHY drivers one way or
the other.
msmith [Sat, 21 Aug 1999 06:24:40 +0000 (06:24 +0000)]
Implement a new generic mechanism for attaching handler functions to
events, in order to pave the way for removing a number of the ad-hoc
implementations currently in use.
Retire the at_shutdown family of functions and replace them with
new event handler lists.
Rework kern_shutdown.c to take greater advantage of the use of event
handlers.
jdp [Fri, 20 Aug 1999 22:33:44 +0000 (22:33 +0000)]
Add a NULL pointer check whose absence could cause segmentation
violations in certain obscure cases involving failed dlopens. Many
thanks to Archie Cobbs for providing me with a good test case.
Eliminate a block that existed only to localize a declaration.
msmith [Fri, 20 Aug 1999 21:08:41 +0000 (21:08 +0000)]
Loosen up the constructed argument segment generation slightly; rather than
trying to size it intelligently just make it 64k and leave it up to the caller
to ensure that the arguments all fit within that range.
This should resolve the issue that some people were seeing with the PnP BIOS
scan crashing on a large PnP node.
ken [Fri, 20 Aug 1999 19:42:01 +0000 (19:42 +0000)]
Fixes for some style bugs in the initial version of this file:
- missing reformatting protection in copyright.
- missing blank line after copyright.
- unusual spelling of idempotency macro (no trailing underscore).
- unusual value of idempotency macro (1 instead of <empty>).
- space instead of tab after #define's.
- unnecessary namespace pollution and extra code to give it.
- tab instead of space after #endif.
jb [Fri, 20 Aug 1999 12:17:09 +0000 (12:17 +0000)]
When checking if there is a stack to free, observe the fact that it
might have been mmapped, and if so, passing the pointer to free() is
really not a good idea.
[ In the next millenium, when I've taken over the world, I'm going
to ban 8 character tabs. You've been warned. ]
kato [Fri, 20 Aug 1999 09:31:18 +0000 (09:31 +0000)]
There may exist two kinds of IBM BlueLightning CPU. One is that 5/2
test does not change undefined flag like Cyrix CPUs. Another is that
5/2 test changes undefined flag like Intel CPUs. Latter one could not
be detected and was recognized 486DX CPU. To solve this,
finishidentcpu() calls identblue() when cpu_vendor is null string
(that is, CPUID instruction is not supported) and cpu == CPU_486.
Tests have been done on IBM BlueLightning CPUs, i486SX and i486DX.
obrien [Fri, 20 Aug 1999 09:01:55 +0000 (09:01 +0000)]
* Consistantly surround macro parameters with ()
* Consistantly put spaces after "," in macro param lists
* Consistantly align continuation characters.
* Don't need to supply all variations of __FOO__ in CPP_PREDEFINES,
gcc will do that for us.
ken [Fri, 20 Aug 1999 03:48:11 +0000 (03:48 +0000)]
Fix short timeout problems with the pt(4) driver:
- increase the default timeout from 10 seconds to 60 seconds
- add a new kernel option, SCSI_PT_DEFAULT_TIMEOUT, that lets users specify
the default timeout for the pt driver to use
- add two new ioctls, one to get the timeout for a given pt device, the
other to set the timeout for a given pt device. The idea is that
userland applications using the device can set the timeout to suit their
purposes. The ioctls are defined in a new header file, sys/ptio.h
grog [Fri, 20 Aug 1999 02:58:16 +0000 (02:58 +0000)]
Reduce default timeout on remote serial debugging sessions from 20
seconds to 1 second. This fixes a problem where gdb would appear to
hang on flaky serial connections. There's a theoretical problem that
the relatively short timeout could cause problems on slow links, but
you can override the default value with the 'set remotetimeout'
command.
mdodd [Fri, 20 Aug 1999 01:17:12 +0000 (01:17 +0000)]
Add 2 functions: el_data_set() and el_data_get() which do what you
would expect. (Allow user data to be associated with an EditLine context).
As this changes no existing interfaces and doesn't alter any structs
visable to the user I've been told that its not necessary to bump
the version of the library.