42794 Commits

Author SHA1 Message Date
peter
e14811bf93 Zap nsio 1999-11-18 07:34:58 +00:00
imp
286d277c7a Sync to latest cardbusdevs file 1999-11-18 07:22:59 +00:00
peter
37f3e03a47 Merge some typo fixes from dev/sio/sio.c (siostop -> comstop)
Remove EXTRA_SIO/NSIOTOT and make it fully dynamic (from dev/sio/sio.c)
Make sio work for pccard here - pccardd doesn't activate interrupts
until after prove has succeeded.
Mark the initial reset of likely sio ports as broken as it depended on
config supplying a list of locations to probe, devices are now proved
standalone.
Optimize a bit of COM_NOAST4() logic.
Use bus_get_resource_start() etc rather than using isa-centric calls.
Reactivate the IIR_TXRDYBUG test, I've got a card here with it.
Try to be a bit smarter about activating interrupts (ie: don't panic
if polled)
Fix some style bugs that have crept in over time (there are still more).
1999-11-18 07:22:41 +00:00
imp
ecfafbc86d Raw import of newconfig cardbus code. This is effectively an import,
so the code doesn't compile.  I added $FreeBSD$ headers.
1999-11-18 07:21:51 +00:00
imp
82bc81b006 Initial import of cardbus bridge driver (cbb) from the latest
newconfig code.  This is a raw import and doesn't compile yet.

Obtained from: newconfig project
1999-11-18 07:14:54 +00:00
imp
1d15f21bbc Add modules for cardbus and the cardbus bridge driver. Files needed
to build these to be committed next.

Again, not added to sys/modules/Makefile
1999-11-18 07:11:16 +00:00
imp
351c3bcd36 Newcard's pccard module. It compiles, but doesn't work. This should
make development easier and push the ability of newbus to load busses
to the test.

Not added to sys/modules/Makefile because it isn't ready to break the
nightly snapshots for alpha yet :-).

NOTE: This is only for NEWCARD.  The old pccard stuff will not build
as a loadable module.
1999-11-18 07:02:18 +00:00
peter
bae4ed31fd Remove the non-functional "swap device" userland front-end to the
multiplexed underlying swap devices (/dev/drum).  The only thing it did
was to allow root to open /dev/drum, but not do anything with it.
Various utilities used to grovel around in here, but Matt has written
a much nicer (and clean) front-end to this for libkvm, and nothing uses
the old system any more.

The VM system was calling VOP_STRATEGY() on the vp of the first underlying
swap device (not the /dev/drum one, the first real device), and using
the VOP system to indirectly (and only) call swstrategy() to choose
an underlying device and enqueue it on that device.  I have changed it
to avoid diverting through the VOP system and to call the only possible
target directly, saving a little bit of time and some complexity.

In all, nothing much changes, except some scaffolding to support the
roundabout way of calling swstrategy() is gone.

Matt gave me the ok to do this some time ago, and I apologize for taking
so long to get around to it.
1999-11-18 06:55:40 +00:00
imp
8dee75f76b Hijack old, broken, obsolete, unsupported pcic module for the NEWCARD
code.  You can now build the newcard's pcic driver as a module for all
the joy that will bring you, which currently isn't so much joy as it
is pain.

The old pccard module will never be made to work again, so I think
this is OK.  Note, it still remains disabled in sys/modules/Makefile
on purpose.
1999-11-18 06:54:19 +00:00
peter
37a2c8219c Remove cdevsw_add() as the make_dev()'s are done in a clone-like fashion.
(ie: the next device is created with make_dev as the first is opened
and so on)
1999-11-18 06:41:30 +00:00
peter
f061e9c46f Remove cdevsw_add() - the make_dev() calls are already there.
Don't '#if NSNP > 0' around the thing as it's silly and not required.
config(8) only causes it to be compiled if NSNP is > 0 by definition.
1999-11-18 06:39:47 +00:00
peter
c35eef4db5 Remove cdevsw_add() - the necessary make_dev() is already there. 1999-11-18 06:37:00 +00:00
peter
6670f38e3f Remove cdevsw_add() - the necessary make_dev() calls appear to be there
already.
1999-11-18 06:34:47 +00:00
peter
0630e91e80 Fix a warning. 1999-11-18 06:29:57 +00:00
peter
0bc8a626de 'const'ify a bunch of pointers in the resource_*() functions for accessing
the config hint tables.  This fixes a few warnings elsewhere (eg: fd).
1999-11-18 06:05:30 +00:00
peter
8164d35489 Convert smb to use make_dev() rather than cdevsw_add(). This stops the
annoying 'smb is usurping smb's cdevsw' type messages.  (Yes, there are
other ways to fix cdevsw_add(), but that is a doomed api)
1999-11-18 05:44:56 +00:00
peter
3577ecc3c0 Convert iic to use make_dev() rather than cdevsw_add(). This stops the
annoying 'iic is usurping iic's cdevsw' type messages.  (Yes, there are
other ways to fix cdevsw_add(), but that is a doomed api)
1999-11-18 05:43:32 +00:00
peter
773cbf2758 Tidy up a few loose ends in the fifo setup code.
Don't use NFDC as an arbitary limit, it is not required and goes against
using PnP fdc devices (eg: when PNPBIOS is turned on, the motherboard
devices (sio, fdc, etc etc) are detected via PnP, not config(8).)
1999-11-18 05:15:09 +00:00
peter
ab56d89b34 Use a common MAKEDEV between the Alpha and i386 - the only differences
of significance were due to the Alpha version going stale.  We use common
device numbering for devices.  Hopefully, this file's days are numbered.
1999-11-18 04:31:31 +00:00
green
b4edcf016d For now, disable umodem module building, because it doesn't. Don't
want to break the snapshots :)
1999-11-18 04:27:10 +00:00
peter
76de652082 Move Alpha conflicting entries (98,99) to 135,136. Renumber the zsc
CDEV_MAJOR entry to match..  Is "ipr" in the tree?  I can't find it.
1999-11-18 04:20:23 +00:00
obrien
31081e234a Don't ask about SCO/IBSC2 binary support on the Alpha. 1999-11-18 03:03:01 +00:00
jdp
1cd372d24f For the TCP transport, put the listening socket in non-blocking
mode.  This addresses a well-known race condition that can cause
servers to hang in accept().  The relevant case is when somebody
connects to the server and then immediately kills the connection
by sending a TCP reset.  On the server this causes select to report
a ready condition on the socket, after which the accept call blocks
because there is no longer any pending connection to accept.

In -current there is already a work-around for this in the kernel.
It was merged into -stable some time ago, but then David Greenman
reverted it because it seemed to be causing a socket leak in some
cases.  (See uipc_socket.c revision 1.51.2.3.)  Hence this userland
fix is needed in -stable, and I plan to merge it into that branch
soon because it fixes a potential DoS attack.  It may also be needed
in -current if the suspected socket leak turns out to be real.  In
any case, after thinking it over I believe the fix belongs in
userland.  An application shouldn't assume that a ready return from
select guarantees that the subsequent I/O operation cannot block.
A lot can happen between the select and the accept.

A similar fix should most likely be applied to the Unix domain
socket transport too.

Submitted by:	peter
Reviewed by:	jdp
1999-11-18 03:01:06 +00:00
julian
2643309508 fix up a whitespace screwup I made. 1999-11-18 01:23:06 +00:00
imp
7390eb268b o Remove #if XXX from around the probe code.
o Rewrite probe code to work in the newbus world.
o Add preliminary pnp support.  I have no clue what the pnp ids for
  the older ISA machines/cards.  I don't have any of these cards/machines
  so I'll have to rely on the user community to give me help.
o Minor code reformatting.

Attach hasn't been touched, and there may be some config issues that
we need to deal with as well.  These will follow in time.
1999-11-17 23:54:39 +00:00
grog
de007c895f Allow octal or hex input.
Suggested-by:	Geoff Steckel <gwes@sitaranetworks.com>
1999-11-17 23:42:09 +00:00
n_hibma
9257d7c5a0 Add the entry for usb (as opposed to usb<number>). It's minor is equivalent
to usb255 and will be used for the event queue of the usb daemon.
1999-11-17 23:02:34 +00:00
n_hibma
315ae09047 Change the name of the modules from <name>_mod to <name>
Suggested by:	David O'Brien <obrien@FreeBSD.ORG>
1999-11-17 22:47:11 +00:00
ache
ef80f4fe76 Add network pass4 - after all local (/usr/local/etc/rc.d f.e.)
daemons started. Move log_in_vain option there. It is needed to avoid
lot of connections to port 80 logged on production WWW server prior
Apache started from /usr/local/etc/rc.d
1999-11-17 22:38:02 +00:00
n_hibma
aeb2d2626b Synchronisation with NetBSD as of 1999/11/16:
Cleaning up the code:
- Declare many functions static
- Change variable names to make them more self explanatory
- Change usbd_request_handle -> usbd_xfer_handle
- Syntactical changes
- Remove some unused code
- Other KNF changes

Interrupt context handling
- Change delay to usbd_delay_ms were possible (takes polling mode into
  account)
- Change detection mechanism for interrupt context

Add support for pre-allocation DMA-able memory by device driver

Add preliminary support for isochronous to the UHCI driver (not for OHCI
yet).

usb.c, uhci.c, ohci.c
- Initial attempt at detachable USB host controllers
- Handle the use_polling flag with a lttle more care and only set it if
we are cold booting.

usb.c, uhci.c ohci.c, usbdi.c usbdi_util.c usb_subr.c
- Make sure an aborted pipe is marked as not running.
- Start queued request in the right order.
- Insert some more DIAGNOSTIC sanity checks.
- Remove (almost) unused definitions USBD_XFER_OUT and USBD_XFER_IN.

usb.c, usb_subr.c
- Add an event mechanism so that a userland process can watch devices
  come and go.

ohci.c
- Handle the case when a USB transfer is so long that it crosses two
  page (4K) boundaries.  OHCI cannot do that with a single TD so we make
  a chain.

ulpt.c
- Use a bigger buffer when transferring data.
- Pre-allocate the DMA buffer.  This makes the driver slightly more
  efficient.
- Comment out the GET_DEVICE_ID code, because for some unknown reason it
  causes printing to fail sometimes.

usb.h
- Add a macro to extract the isoc type.
- Add a macro to check whether the routine has been entered after splusb
  and if not, complain.

usbdi.c
- Fix a glitch in dequeueing and aborting requests on interrupt pipes.
- Add a flag in the request to determine if the data copying is done by
  the driver or the usbdi layer.
1999-11-17 22:33:51 +00:00
phk
a586d3a066 "b_unused1" was.
Fix comment for b_caller[12] fields.

Spotted by:     grog
1999-11-17 21:43:00 +00:00
phk
56de3ca9f1 Do timeouts in terms of hz
Spotted by:     julian
1999-11-17 21:40:14 +00:00
phk
1c13fa8c14 Make proc/*/cmdline use the cached argv if available.
Submitted by:   Paul Saab <paul@mu.org>
Reviewed by:    phk
1999-11-17 21:35:07 +00:00
phk
33d16c3322 The function `procfs_getattr()' in procfs doesn't set the value of
vap->va_fsid, so we cannot get valid information about procfs.

Submitted by:   SAWADA Mizuki miz@pa.aix.or.jp
Reviewed by:    phk
PR:     1654
1999-11-17 21:33:25 +00:00
brian
e55cb1a4bc modfind(char *) -> modfind(const char *)
Reminded by:	dfr
1999-11-17 21:32:40 +00:00
brian
23eed7f710 Fix ``set proctitle'' by using setproctitle(). 1999-11-17 21:12:35 +00:00
brian
a6dfb66b8f Make setproctitle(NULL) restore all of the original arguments
(if it's able).
1999-11-17 21:12:17 +00:00
phk
af641e8f8d The logic for blackhole processing does not free mbufs if the
blackhole flag is set.

PR:		14958
Submitted by:	Larry Baird <lab@gta.com>
Reviewed by:	phk
1999-11-17 20:57:49 +00:00
ache
28edb56949 purity change for name length checking code 1999-11-17 20:51:35 +00:00
ache
3620b449a5 Merge with OpenBSD whois (with bugfixes missed there)
New features are:
Automatic lookup using *.whois-servers.net
Recursive lookup using Registrar's name
Fallback to InterNIC for non-domains
-m for RADB database
-Q to turn recursion/fallback off

Obtained from:	OpenBSD
1999-11-17 19:11:51 +00:00
imp
1d9304ddff gcc 2.95.2 1999-11-17 18:06:56 +00:00
archie
925919a689 When allocating a new PKTHDR mbuf, always set m->m_pkthdr.rcvif = NULL. 1999-11-17 17:41:22 +00:00
mjacob
2ad7906e16 Fix a couple of boo-boos in the last delta. 1999-11-17 17:11:21 +00:00
cracauer
82902b2e3c The pipleline problem introduced in version 1.22 wasn't fully fixed in
1.23. This revision should work for long pipes both in
here-documents/backquote and in normal cases.

Fix works for jmz, bde.
1999-11-17 16:53:34 +00:00
davidn
3d4886f969 Reduce max length of user names to 15 characters to reflect reality.
This also prevents the line-wrap and messed up display that occurs
when there happens to be one or more names with 15 chars.
1999-11-17 16:31:51 +00:00
obrien
4e5bce5012 Build genrtl.h before print-rtl.o.
Submitted by:	John Hay <jhay@mikom.csir.co.za> (basic idea, changed by me)
1999-11-17 15:50:45 +00:00
peter
6bdffedcb9 Use the same technique as ps(1) to avoid the need for setgid. (ie: use
/dev/null as the default kernel and /dev/mem filenames, but still allow
the usual overrides)
1999-11-17 15:28:45 +00:00
peter
f6968a45e6 I'm probably jumping the gun, but what the heck, this is -current.
Turn off setgid-kmem for /bin/ps, it's now quite functional without it.
ps no longer needs /dev/*mem or /proc.  (It will still use some /proc
files if they are available for -e, but it's not required, so it'll
happily run in a jail or chroot).

The proc stats are now part of eproc (obtained via sysctl) and no longer
needs to beat up the u-page reading code and the problems with that.

This also has the side effect of disabling 'ps -e' for normal users
*EXCEPT* when looking at their own processes.  ie: they can see
environments in processes with their uid, enforced by the ownership of
/proc/*/mem.  Root can still see them all, as it can open all /proc/*/mem.
1999-11-17 13:37:30 +00:00
peter
5a18be3c38 Use eproc.e_stats, not a series of crude hacks to fetch it from the u-area.
Also, fix some indentation that got messed up somehow..
1999-11-17 12:52:42 +00:00
peter
fb47be8de1 Add e_stats (p->p_stats, from struct user->u_stats) to eproc so it's
fetchable via sysctl.  This saves ps having to read the u-area for stats.
Be sure to recompile libkvm, ps, w, top and the usual suspects.
1999-11-17 12:49:22 +00:00