Commit Graph

88895 Commits

Author SHA1 Message Date
simokawa
ef1f3b42fa add scbus for FireWire. 2003-04-22 04:39:20 +00:00
imp
823ba059c1 Document device_set_driver(9)
# now all driver_* functions used outside of subr_bus.o in my kernel
# are documented.
2003-04-22 03:43:44 +00:00
imp
b126d5fd0e Document device_printf(9). 2003-04-22 03:32:31 +00:00
imp
8515f23dc5 Document device_set_ivars(9) as well. 2003-04-22 03:25:14 +00:00
davidxu
4f1ed41d01 Remove single threading detecting code, these code really should be
replaced by thread_user_enter(), but current we don't want to enable
this in trap.
2003-04-22 03:17:41 +00:00
simokawa
bedf79949f Set the local bus address in xfer->dst.
Submitted by: Buzz Slye <buzz@gaia.arc.nasa.gov>
2003-04-22 02:31:31 +00:00
marcel
bbf5306d5f Don't use the tpa instruction to implement pmap_kextract. The tpa
instruction requires that a translation is present in the TC. This
may trigger a TLB miss and a subsequent call to vm_fault().
This implementation is deliberately non-inline for debugging and
profiling purposes. Partial or full inlining should eventually be
done.

Valuable insights by: jake
2003-04-22 01:48:43 +00:00
imp
eea2b01ecc man page for device_get_parent. 2003-04-22 00:26:02 +00:00
imp
197d721da8 device_is_alive already was documented in device_get_state, so remove the
separate man page.  Document new device_is_attached there and remove that
new man page too.

Connect device_get_name to build, and install a link for
device_get_nameunit.

strangely nobody noticed this yet...
2003-04-22 00:21:28 +00:00
imp
10965d5bdd Add man page for device_get_name and device_get_nameunit. 2003-04-22 00:18:55 +00:00
rwatson
43a755fbe6 Don't use UFS2 by default during the install process on PC98, as the
PC98 boot blocks don't support UFS2.  We keep newfs(8) defaulting to
UFS2.

Warn users that FreeBSD can only boot from a root file system smaller
than 1.5TB; hopefully this will get fixed by the patches currently
floating around on -CURRENT.

Reviewed by:	nyan
2003-04-21 20:57:20 +00:00
phk
957f9f4202 Now that all uses of this file use explicit encoding/decoding, remove
all the bits we do not need, and drop the attempt at "disk-image"
structure definition.

Add idempotency (sp?) #ifdef
2003-04-21 20:40:41 +00:00
phk
ea17f6289a Use explicit encoding/decoding funtions for sunlabel data structures.
Use #defines for various magic numbers.

Attach test-case to makefile.

Reviewed by:    jake
2003-04-21 20:38:15 +00:00
phk
a981fec797 Update libdisk to use the explicing encoding function for sunlabel data
structures.
2003-04-21 20:36:44 +00:00
phk
38d3139e70 Add minimal regression test for hotspot handling of the sunlabel. 2003-04-21 20:16:07 +00:00
phk
c99d9e1424 Implement a hotspot for the sunlabel.
This means that you can no longer trash your opened partitions by writing to
the sunlabel through another partition.  This is similar to the semantics
implemented for BSD labels.
2003-04-21 20:14:36 +00:00
jhb
c7835c0929 - Don't highlight options APIC_IO at the top since it only applies to i386
and this manpage is somewhat machine independent.
- Don't redundantly say that SMP support is present for all supported
  architectures.  Instead, say that it is present for all Tier-1
  architectures.
- Note that an SMP kernel not booting on a UP machine is an i386-only
  exception.
- Add a paragraph about hyperthreading support including some docco on the
  machdep.hlt_logical_cpus sysctl ps@ recently added.
- Note that SMP support for alpha, ia64, and sparc64 debuted in 5.0.
2003-04-21 20:05:33 +00:00
phk
78e84f94ed Update GEOM::SUN to use the decoding functions in geom_sunlabel_enc.c
and #defines from sys/sun_disklabel.h.
2003-04-21 19:54:11 +00:00
phk
d5b1803a96 Use #defines from <sys/sun_disklabel.h> instead of private ones. 2003-04-21 19:42:36 +00:00
phk
a8a7c6ab61 Add defines for number of partitions, raw partition index and size of
encoded data structure.
2003-04-21 19:38:33 +00:00
phk
d0c2ab56a5 Add prototypes for sunlabel_dec() and sunlabel_enc().
Assume (for now) that all sun labels are big endian.
2003-04-21 19:31:42 +00:00
ru
55c49c799e Removed mount_devfs from progs since there is no "mount_devfs"
source directory (it's spelled mount_std nowadays), so it was
a no-op anyway, and DEVFS is now the default.
2003-04-21 19:14:32 +00:00
brueffer
5b10a1bbb6 Grammar and spelling fixes, improved the wording a bit
A slightly different patch than the one from the PR was applied

PR:		38815
Submitted by:	Chris Pepper <pepper@guest.reppep.com>
MFC after:	3 days
2003-04-21 19:08:35 +00:00
phk
9e9aeab27a Functions to encode and decode Sun Microsystems disk partitioning data
structures.

Mostly by:	jake
2003-04-21 18:41:12 +00:00
imp
55161dbc66 Use newly minted device_is_attached rather than device_is_alive to see
if attach succeeded.  device_is_alive just tells us that probe
succeeded.  Since we were using it to do things like detach net
interfaces, this caused problems when there were errors in the attach
routine.

Symptoms of problem reported by: martin blapp
2003-04-21 18:34:04 +00:00
imp
68d1cc4cc5 Xref these two functions, since they are similar enough to cause confusion. 2003-04-21 18:27:44 +00:00
imp
f754bd5701 Simple man page for new device_is_attached. 2003-04-21 18:25:04 +00:00
imp
59f6c3bf49 Add a man page for device_is_alive. 2003-04-21 18:24:05 +00:00
imp
fb873e6edf Create a new function, device_is_attached(), that is like
device_is_alive() that tells us if the device has successfully
attached.  device_is_alive just tells us that the device has
successfully probed.
2003-04-21 18:19:08 +00:00
takawata
dfb05e5132 Regen. 2003-04-21 17:36:03 +00:00
takawata
e65e3d071c Add another product ID for if_axe and correct vendor ID description
for Linksys USB200M.The USB vendor ID list is available from
http://www.usb.org/app/pub/dump/comp_dump/

Reviewed by: wpaul
2003-04-21 17:34:13 +00:00
imp
3a058512c4 Kill debug printf that crept in my last commit 2003-04-21 17:25:39 +00:00
mike
82a28ce246 Force output of jail ID (if necessary) before excuting the command,
otherwise redirection of stdout to a file using block buffering will
not complete in time.
2003-04-21 17:20:48 +00:00
simokawa
9f7fbe4b69 Add FireWire drivers to GENERIC. 2003-04-21 16:44:05 +00:00
simokawa
980817bfc5 Remove unused code. 2003-04-21 16:41:20 +00:00
obrien
cd123a19e2 Explicitly declare 'int' parameters. 2003-04-21 16:34:18 +00:00
obrien
4054bc5e58 Assembly files put thru the C preprocessor need to have C style comments. 2003-04-21 16:30:12 +00:00
obrien
43cb95182e Explicitly declare 'int' parameters. 2003-04-21 16:27:46 +00:00
nectar
bba483a33a Correct a bug that was somehow both obvious and hard-to-see. :-)
An incorrectly-sized allocation was being made due to an incorrect
argument to the `sizeof' operator.  Obvious, because it violated the
`foo = malloc(sizeof(*foo))' idiom.  Hard-to-see, because it was a
missing `*' (`*p' versus `**p').

Resulting failure was
Reported by:	ache

Sponsored by:	DARPA, Network Associates Laboratories
2003-04-21 15:44:25 +00:00
davidxu
d06885c524 Reset pcb_gs and %gs before possibly invalidating it. 2003-04-21 15:05:05 +00:00
davidxu
d5ff3e991d Fix lock order reversal problem. 2003-04-21 14:42:04 +00:00
nectar
6d1b148a91 Don't try to access the NIS `master' maps unless we have superuser
privileges.  To do so may cause the NIS server to log spurious and
annoying `access denied' messages.

Reported by:	Philip Paeps <philip@paeps.cx>
Sponsored by:	DARPA, Network Associates Laboratories
2003-04-21 13:57:58 +00:00
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