Commit Graph

65 Commits

Author SHA1 Message Date
ad 703069c0e9 specfs changes for PR kern/37717 (raidclose() is no longer called on
shutdown). There are still problems with device access and a PR will be
filed.

- Kill checkalias(). Allow multiple vnodes to reference a single device.

- Don't play dangerous tricks with block vnodes to ensure that only one
  vnode can describe a block device. Instead, prohibit concurrent opens of
  block devices. As a bonus remove the unreliable code that prevents
  multiple file system mounts on the same device. It's no longer needed.

- Track opens by vnode and by device. Issue cdev_close() when the last open
  goes away, instead of abusing vnode::v_usecount to tell if the device is
  open.
2008-01-24 17:32:52 +00:00
ad 88ab7da936 Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
2007-07-09 20:51:58 +00:00
christos 53524e44ef Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
ad b07ec3fc38 Merge newlock2 to head. 2007-02-09 21:55:00 +00:00
christos 168cd830d2 __unused removal on arguments; approved by core. 2006-11-16 01:32:37 +00:00
christos 4d595fd7b1 - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
2006-10-12 01:30:41 +00:00
ad 3029ac48c7 - Use the LWP cached credentials where sane.
- Minor cosmetic changes.
2006-07-21 16:48:45 +00:00
elad 2867b68bc3 integrate kauth. 2006-05-14 21:42:26 +00:00
christos 95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
ws 9d78e0cf36 PR-30566: Poll must not return <sys/errno.h> values.
Start with those places I can easily test.
2005-06-21 14:01:11 +00:00
martin a6609a130d White space police. 2005-04-28 07:54:39 +00:00
perry f31bd063e9 nuke trailing whitespace 2005-02-27 00:26:58 +00:00
wiz 1249084227 "panicking" needs a k. 2004-05-16 15:44:10 +00:00
cdi 492c11116f Revert previous change as it breaks the build on a number of ports. 2003-10-18 21:26:22 +00:00
cdi 2b3e81f067 Introduce null console. This pseudo device acts as a normal console with the
exception that it discards any output, and is useful for booting the kernel
on headless boxes.
2003-10-17 18:16:42 +00:00
dsl 23069255ce Make 'minor(dev) == 1' a device that isn't affected by TIOCCONS.
For /dev/constty so that you can grab kernel messages when logged in
on the 'console'.
2003-10-03 13:15:52 +00:00
agc aad01611e7 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-08-07 16:26:28 +00:00
fvdl d5aece61d6 Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
2003-06-29 22:28:00 +00:00
darrenr 960df3c8d1 Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records.  The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
2003-06-28 14:20:43 +00:00
matt 7109fe9012 Add cn_halt and cn_flush entries to consdevs. (needed for dma-only console
devices).
2003-03-06 00:38:26 +00:00
jdolecek e0cc03a09b merge kqueue branch into -current
kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
2002-10-23 09:10:23 +00:00
provos 0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
gehenna 77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
soren 5fa952b83f As in PR kern/10999 from Matthew Orgass, make the panic message more
helpful in the case where no console device has registered.
2002-08-02 19:55:32 +00:00
lukem 2bbe2de647 add RCSIDs 2001-11-13 05:32:49 +00:00
jdolecek 07677cc805 Use back the 'u'&037 form - since it's CTRL-u, it's more readable that way
Use \007 instead of symbolic constant, since that's what is more often used.
Pointed out by Robert Elz.
2001-06-04 09:45:03 +00:00
jdolecek dccf11ae11 cngetsn(): cosmetic only - use '\025' instead 'u'&037, and '\b' instead '\007' 2001-06-03 17:56:10 +00:00
lukem 461a7daf74 fix comment 2001-06-03 14:29:42 +00:00
mrg 305e44c869 check for when cnopen() will call itself recursively, and panic instead of losing badly. 2000-06-12 05:02:22 +00:00
itojun e6469f14ad move static function getstr() to cons.c, make it publically available
as cngetsn().  there will be other consumer.
2000-05-08 16:30:57 +00:00
augustss 169ac5b3c1 Remove register declarations. 2000-03-30 12:41:09 +00:00
thorpej a183d34f04 - Implement cnbell() -- ring the console bell. The cn_bell entrypoint
is optional.
- Add cn_bell to statically allocated consdevs as appropriate.
2000-03-06 21:36:05 +00:00
leo 7bff22bddc Catch a console configuration error. Instead of jumping through cdevsw indexed
on major(NODEV), call panic...
1999-08-04 14:40:54 +00:00
mycroft 2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
mycroft b3eac79b64 tty stop functions really should return void, not int, and certainly not both. 1996-09-02 06:43:16 +00:00
jonathan 8ae2ddf4ad fixes for -Wall -Wmissing-prototypes:
add "return (0);" to cnstop()'s emtpy body.
1996-04-08 19:57:30 +00:00
christos d4f46b2259 cnputc returns void 1996-02-04 02:04:08 +00:00
cgd 523c12167c fix definition of nullcnpollc, and add a prototype for it. 1995-11-25 00:03:35 +00:00
pk 333a55a4ce Remove duplicate definition of `constty'. 1995-04-11 22:08:06 +00:00
mellon 57289e2cf2 Split cninit from cons so ports that can't use it don't have to include it. 1995-04-11 10:06:38 +00:00
mycroft 6e992fcd83 Add a dummy cnstop(). 1995-04-10 06:30:52 +00:00
cgd cba4b405e4 don't let args default, return values, add protos 1995-03-24 15:29:46 +00:00
mycroft a395d884d5 Remove extra arg to d_open and vn_open(). 1994-12-14 19:09:13 +00:00
christos c2c3dce760 added extra argument to vn_open 1994-11-14 06:00:10 +00:00
mycroft 1c76bf7aa1 Add a nullcnpollc(), for people who don't want to deal. 1994-10-30 22:16:37 +00:00
cgd 6ac2bbfc35 be more careful with types, also pull in headers where necessary. 1994-10-30 21:43:03 +00:00
mycroft 511d2732a3 Implement cnpollc(). 1994-10-26 17:56:53 +00:00
cgd cf92afd66e New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:29:24 +00:00
cgd 89e331dcad new standard, minimally intrusive ID format 1994-06-27 19:40:57 +00:00
mycroft 3b4b77ca23 Reverse sense of vfinddev(). 1994-06-08 11:19:41 +00:00