Commit Graph

88853 Commits

Author SHA1 Message Date
davidxu
7e0ecb5345 Introduce two flags to control upcall behaviour:
o KMF_NOUPCALL
	Ask kse_release to not return to userland upcall entry, but instead
	direct returns to userland by using current thread's stack and return
	address on stack. This flags is intended to be used by UTS in critical
	region to wait another UTS thread to leave critical region, by using
	kse_release with this flag to avoid spinnng and burning CPU. Also this
	flags can be used by UTS to poll completed context when there is nothing
	to do in userland and needn't restart from its entry like normal upcall.

o KMF_NOCOMPLETED
	Ask kernel to not bring completed thread contexts back to userland when
	doing upcall, this flags is intend to be used with above flag when an
	upcall thread is in critical region and can not process completed contexts
	at that time.

Tested by: deischen
2003-04-21 07:27:59 +00:00
davidxu
4a8fbec3d4 Add a member field for kse_upcall to cache kse mailbox flags.
Code for this will be committed soon.
2003-04-21 07:02:37 +00:00
alc
134bc2259f - Assert that the vm_object is locked in vm_object_clear_flag(),
vm_object_pip_add() and vm_object_pip_wakeup().
 - Remove GIANT_REQUIRED from vm_object_pip_subtract() and
   vm_object_pip_subtract().
 - Lock the vm_object when performing vm_object_page_remove().
2003-04-21 06:33:52 +00:00
imp
037b7ed675 Implement a two new flags, and change the meaning of another one.
'd': now means don't do daemon().
'D': Debug
'n': Don't wait to process all pending events before calling daemon.

In the past, devd would call daemon immediately.  However, this causes
a race.  If anything in the boot process depends on configuring the
devices configured by devd, maybe they would be configured in time,
maybe not.  Now we don't call daemon until all pending events are
processed, unless -n is specified.

# -n is actually the default for a while due to the select(2) bug in devctl
# that I just fixed to give people a chance to upgrade.
2003-04-21 06:26:08 +00:00
imp
cf3cf85267 Fix /dev/devctl's implementation of poll. We should only be setting
the poll bits when there's actually something in the queue.
Otherwise, select always returned '2' when there were no items to be
read, and '3' when there were.  This would preclude being able to read
in a threaded (libc_r) program, as well as checking to see if there
were pending events or not.
2003-04-21 05:58:51 +00:00
orion
68750c7795 Add eMicro codec ids. 2003-04-21 04:48:40 +00:00
imp
6968b9e7d3 Put an anti-foot-shooting measure in place. Set hw.bus.devctl_disable
to 0 when we startup.  Print a warning in this case.  This allows
people that are playing with devd by hand to have something happen.
Otherwise, it appears that devd isn't working because /dev/devctl is
disabled and producing no events.

Suggested by: peter on irc a long time ago.
2003-04-21 04:30:12 +00:00
deischen
7b2d1b3027 Add an i386-specifc hack to always set %gs. There still seems
to be instances where the kernel doesn't  properly save and/or
restore it.

Use noupcall and nocompleted flags in the KSE mailbox.  These
require kernel changes to work which will be committed sometime
later.  Things still work without the changes.

Remove the general kse entry function and use two different
functions -- one for scope system threads and one for scope
process threads.  The scope system function is not yet enabled
and we use the same function for all threads at the moment.

Keep a copy of the KSE stack for the case that a KSE runs
a scope system thread and uses the same stack as the thread
(no upcalls are generated, so a separate stack isn't needed).
This isn't enabled yet.

Use a separate field for the KSE waiting flag.  It isn't
correct to use the mailbox flags field.

The following fixes were provided by David Xu:

  o Initialize condition variable locks with thread versions
    of the low-level locking functions instead of the kse versions.

  o Enable threading before creating the first thread instead
    of after.

  o Don't enter critical regions when trying to malloc/free
    or call functions that malloc/free.

  o Take the scheduling lock when inheriting thread attributes.

  o Check the attribute's stack pointer instead of the
    attributes stack size for null when allocating a
    thread's stack.

  o Add a kseg reinit function so we don't have to destroy and
    then recreate the same lock.

  o Check the return value of kse_create() and return an
    appropriate error if it fails.

  o Don't forget to destroy a thread's locks when freeing it.

  o Examine the correct flags word for checking to see if
    a thread is in a synchronization queue.

Things should now work on an SMP kernel.
2003-04-21 04:02:56 +00:00
imp
304876f035 o Skip white space between variables better. This makes
'a="b" c="d" at loc=1 on busN' properly set 'c' and process the rest of
  the stirng.  Before it would ignore everything after variable 'a'.
o Parse nomatch and other events differently.  They are more different
  than the code allowed for, so we weren't properly parsing nomatch
  events.  It appears this fixes some of the demand loading issues that
  I was having with devd.

Noticed by: Gary Palmer
2003-04-21 04:00:01 +00:00
deischen
3cce5fea02 Use popfl to get the flags off the stack instead of popf.
Submitted by:	davidxu
2003-04-21 03:59:07 +00:00
orion
cc72466a4a Use SOUND_MIXER_IGAIN to toggle 20dB mic boost for want of a better
place for it.

Assorted comments.

Submitted by: luigi
2003-04-21 03:47:28 +00:00
imp
16d8142975 devd.conf already has the examples in the todo list 2003-04-21 03:29:53 +00:00
rwatson
758ff09b4b Remove extraneous reference to intrq.h, which broke the kernel build. 2003-04-21 03:17:27 +00:00
obrien
45be12a85b This commit was generated by cvs2svn to compensate for changes in r113778,
which included commits to RCS files with non-trunk default branches.
2003-04-21 02:27:52 +00:00
obrien
1755f15a55 Vendor import revision 1.8 of ac97_codec.h (we renamed the file) from
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/emu10k1/emu10k1/ac97_codec.h
2003-04-21 02:27:52 +00:00
murray
33aa20647b axe is commented out in GENERIC on pc98, so this wasn't needed.
Pointed out by:	Takahashi Yoshihiro <nyan@jp.FreeBSD.org>
2003-04-21 00:57:25 +00:00
murray
1b1f5a0c3e Move Bill Paul's new axe driver module to floppy disk 3 on i386 and
alpha, disk 2 on pc98, and keep it in the boot kernel for sparc64.
2003-04-21 00:10:26 +00:00
alc
5c7fd76c9e - Lock the vm_object when performing either vm_object_clear_flag() or
vm_object_pip_wakeup().
2003-04-20 23:23:41 +00:00
obrien
e3e9666f33 Note that KZPSC have ancient, non-upgradable firmware and that affects
the driver.

Submitted by:	wilko
2003-04-20 22:27:44 +00:00
obrien
5d2a31e4c5 Document the KZPCA-AA. 2003-04-20 22:13:50 +00:00
obrien
8aff123063 Note the Qlogic 1040 is a KZPBA in DEC-speak.
Reviewed by:	wilko
2003-04-20 22:10:13 +00:00
obrien
4c74541fc0 Document the DEC variants.
Also note the model numbers for the AcceleRAID and eXtremeRAID variants.

Reviewed by:	wilko
2003-04-20 22:07:38 +00:00
obrien
6af8d82647 Document the DEC variants. 2003-04-20 22:04:36 +00:00
obrien
a87104be3c The i386-specific asr manpage has been repo copied to the MI section. 2003-04-20 22:01:37 +00:00
alc
fb6235893f - Update the vm_object locking in vm_map_insert(). 2003-04-20 21:56:40 +00:00
murray
b634e61b93 More terms. 2003-04-20 21:36:12 +00:00
murray
3292144035 More terms. 2003-04-20 20:42:20 +00:00
alc
cc0f04fdcf - Lock the vm_object when performing vm_object_pip_wakeup().
- Merge two identical cases in a switch statement.
2003-04-20 20:37:14 +00:00
murray
ff1c2d5b6d Add more FreeBSD specific terminology to help reduce false-positives
when spell-checking the FreeBSD documentation.
2003-04-20 20:35:18 +00:00
wpaul
c2237ae462 Regenerate. 2003-04-20 20:17:10 +00:00
wpaul
d06bc9076c Add support for the Netgear FA120 and the D-Link DUBE100 (AX88172-based
devices).
2003-04-20 20:15:42 +00:00
alc
033a6f0bc7 - Lock the vm_object when performing vm_object_pip_wakeup(). 2003-04-20 19:25:28 +00:00
brueffer
4cb4acb541 Remove reference to diskpart(8)
PR:		51193
Submitted by:	Yonatan@xpert.com
2003-04-20 19:16:21 +00:00
mtm
ac7a615c70 Run interface specific scripts for dhcp interfaces too.
This is how it has always been done (before and after rc.d) but
I somehow failed to include it when I broke up network1.

Submitted by:	bmah
Approved by:	markm (mentor)(implicit)
2003-04-20 19:14:16 +00:00
wpaul
5913c14750 Regen usbdevs. 2003-04-20 19:07:51 +00:00
wpaul
e41f6225fa Add device driver support for the ASIX Electronics AX88172 USB 2.0
ethernet controller. The driver has been tested with the LinkSys
USB200M adapter. I know for a fact that there are other devices out
there with this chip but don't have all the USB vendor/device IDs.

Note: I'm not sure if this will force the driver to end up in the
install kernel image or not. Special magic needs to be done to exclude
it to keep the boot floppies from bloating again, someone please
advise.
2003-04-20 19:05:33 +00:00
obrien
dce3b02b36 fix __FBSDID 2003-04-20 18:41:16 +00:00
obrien
2151e1a6d9 style.Makefile(5) 2003-04-20 18:38:59 +00:00
mux
fe7cd0f228 Convert the tx(4) driver to use the busdma API.
Special thanks to brueffer for sending me such a card so that
I could do this work.
2003-04-20 18:08:00 +00:00
mux
447057245b Better comment, more style(9) fixes. 2003-04-20 17:36:26 +00:00
orion
26bf26a836 Additional malloc failure checks. 2003-04-20 17:08:56 +00:00
rwatson
81d6b31102 Throw the switch--change to UFS2 as our default file system format for
FreeBSD 5.1-RELEASE and later:

- newfs(8) will now create UFS2 file systems unless UFS1 is specifically
  requested (-O1).  To do this, I just twiddled the Oflag default.

- sysinstall(8) will now select UFS2 as the default layout for new
  file systems unless specifically requested (use '1' and '2' to change
  the file system layout in the disk labeler).  To do this, I inverted
  the ufs2 flag into a ufs1 flag, since ufs2 is now the default and
  ufs1 is the edge case.  There's a slight semantic change in the
  key behavior: '2' no longer toggles, it changes the selection to UFS2.

This is very similar to a patch David O'Brien sent me at one point, and
that I couldn't find.

Approved by:	re (telecon)
Reviewed by:	mckusick, phk, bmah
2003-04-20 14:08:05 +00:00
rwatson
c805cb4535 Use u_int for the struct uidinfo reference count rather than u_short;
while >65534 references is unlikely, it is possible.

Reviewed by:	tjr
2003-04-20 13:54:04 +00:00
brueffer
7bc526787d Grammar fix
PR:		51164
Submitted by:	Jeff Ito <jeffi@rcn.com>
MFC after:	3 days
2003-04-20 13:11:11 +00:00
obrien
f229642828 more style(9) changes. 2003-04-20 09:07:14 +00:00
obrien
e0e99fcc92 more style(9) changes. 2003-04-20 08:37:29 +00:00
obrien
87e6a7b3b7 A few style(9) fixes. 2003-04-20 07:43:09 +00:00
alc
e7c8e4e470 - Lock the vm_object when performing vm_object_pip_add(). 2003-04-20 07:29:50 +00:00
alc
114f28a272 - Lock the vm_object when performing vm_object_pip_add().
- Remove an unnecessary variable.
2003-04-20 07:08:30 +00:00
bmah
089fc0a1b0 Add an errata item pointing out a filename typo in the 5.0 release
notes.

Pointed out by:	"David G. Andersen" <dga@lcs.mit.edu>
2003-04-20 06:17:31 +00:00