Commit Graph

111066 Commits

Author SHA1 Message Date
rwatson
09474340cc Assert or acquire the IPX PCB list lock or IPX PCB locks throughout
the IPX-related PCB routines.  In general, the list lock is required
to iterate the PCB list, either for read or write; the PCB lock is
required to access or modify a PCB.  To change the binding of a PCB,
both locks must be held.

MFC after:	3 weeks
2005-01-09 05:10:43 +00:00
rwatson
c7ec30d9b7 Hold the IPX PCB mutex around calls to ipx_input() in the IPX input
path.

MFC after:	3 weeks
2005-01-09 05:08:47 +00:00
rwatson
cfbc0538b8 Hold the global IPX PCB list mutex in the IPX input path when walking
the IPX PCB list.

MFC after:	3 weeks
2005-01-09 05:06:19 +00:00
rwatson
a6ab698ab0 Introduce a global mutex, ipxpcb_list_mtx, to protect the global
IPX PCB lists.  Add macros to initialize, destroy, lock, unlock,
and assert the mutex.  Initialize the mutex when IPX is started.

Add per-IPX PCB mutexes, ipxp_mtx in struct ipxpcb, to protect
per-PCB IPX/SPX state.  Add macros to initialize, destroy, lock,
unlock, and assert the mutex.  Initialize the mutex when a new
PCB is allocated; destroy it when the PCB is free'd.

MFC after:	2 weeks
2005-01-09 05:00:41 +00:00
rwatson
dbe7c51df6 In ipx_setsockaddr(), use M_WAITOK instead of M_NOWAIT so that the
call always succeeds, avoiding causing the caller to return success
even though the returned *sockaddr is NULL.

MFC after:	2 weeks
2005-01-09 04:47:42 +00:00
rwatson
6307978aa0 Eliminate jump to 'bad' label in order to clean up the ipx_input()
return/unwind path for locking work.

MFC after:	2 weeks
2005-01-09 04:39:16 +00:00
tjr
55ecebbe93 Implement rpmatch(), a semi-standard interface (as found on AIX, Tru64,
GNU) for determining whether a string is an affirmative or negative
response to a question according to the current locale. This is done
by matching the response against nl_langinfo(3) items YESEXPR and NOEXPR.
2005-01-09 03:55:13 +00:00
alc
8c07cfa5a0 Move the acquisition and release of the page queues lock outside of a loop
in vm_object_split() to avoid repeated acquisition and release.
2005-01-08 23:41:11 +00:00
trhodes
933fbb02e8 Use static const char and bump WARNS. 2005-01-08 22:56:08 +00:00
imp
037a851d92 Remove support for FreeBSD < 4.recent from this driver. 2005-01-08 22:52:00 +00:00
trhodes
26b9d00584 Remove unused variable. 2005-01-08 22:47:10 +00:00
imp
314a0d9386 Remove vnode.h and adjust includes to compensate for pollution. 2005-01-08 22:43:33 +00:00
imp
c967543ab7 LINE30 is always defined now, so unifdef -DLINE30 for clarity. 2005-01-08 22:29:53 +00:00
imp
496874ad30 Merge module.h into 30line.h and remove it. It lacked a
copyright/license header and was only used by 30line.h.  It appears
that the copyright/license in 30line.h covers the old contents
module.h anyway, so this simplifies things a little while cleaning up
one obscure potential license confusion...

Revired by: nyan-san
2005-01-08 22:29:23 +00:00
kientzle
bec0cf2f38 Recognize and parse symlinks in ISO9660 CDROM images with Rockridge extensions. 2005-01-08 19:56:07 +00:00
kientzle
03cce8d9d5 Documentation improvements. In particular,
expand and clarify the description of the client
callback functions and how they should handle errors.

Thanks to: Antony Dovgal
2005-01-08 19:51:04 +00:00
kientzle
9bbb1dc91d Correctly document the order of arguments
to archive_read_open and archive_write_open.

Thanks to: Antony Dovgal
2005-01-08 18:32:49 +00:00
kientzle
031211eb44 Clear the error buffer on entry
to archive_read_next_header so the
next error doesn't just get appended.

MFC after: 7 days
2005-01-08 18:28:11 +00:00
pjd
08319f85fb Cast to intmax_t when using %jd format.
MFC after:	3 days
2005-01-08 17:19:56 +00:00
hsu
f37d6c57e7 More fixes to the copyright notice.
Submitted by:	Ken Smith <kensmith@cse.Buffalo.EDU>
2005-01-08 17:16:43 +00:00
delphij
049c85627c Cleanup usr.sbin/fd* so they can compile under WARNS=6.
fdcontrol/fdcontrol.c:
	- Add const constraint to an intermediate value
	  which is not supposed to be changed elsewhere.
fdread/fdread.c:
	- Use _devname in favor of devname to avoid name
	  conflicit.
	- -1 is less than any positive number so in order
	  to get the block to function, we should get the
	  block a little earlier.
	- Cast to remove signed when we are sure that a
	  return value is positive, or is compared with
	  an positive number (tracknumber of a floppy
	  disk is not likely to have UINT_MAX/2 anyway)
fdread/fdutil.c:
	- Use more specific initializer
fdwrite/fdwrite.c:
	- Use static on format_track since it's not
	  referenced in other places.
	- Use const char* to represent string constant.

Bump WARNS accordingly.
2005-01-08 15:46:06 +00:00
delphij
99669f6c43 Follow style.Makefile(5):
WARNS comes before CFLAGS

This reduces diff against my local branch.
2005-01-08 15:15:42 +00:00
glebius
e3f4f22c01 This change adds reliability for Ethernet trunks built with ng_one2many:
- Introduce another ng_ether(4) callback ng_ether_link_state_p, which
  is called from if_link_state_change(), every time link is changed.
- In ng_ether_link_state() send netgraph control message notifying
  of link state change to a node connected to "lower" hook.

Reviewed by:	sam
MFC after:	2 weeks
2005-01-08 12:42:03 +00:00
davidxu
e523e1e690 Fix typo, function name pthread_rwlock_timedrwlock should be
pthread_rwlock_timedwrlock.
2005-01-08 11:07:13 +00:00
trhodes
07cfcb7755 [NO]MAN -> NO_[MAN].
Bump doc date.
2005-01-08 09:21:35 +00:00
njl
2342a131ea In total violation of at least 4 sections in the ACPI spec, some systems
place device objects in \ (in this case, PCI links.)  Work around this by
starting our probe from \.  To avoid attaching system scope objects,
explicitly skip them.  (I think it's an ACPI-CA bug that \_SB and \_TZ have
device and thermal object types.)  Thanks to pjd@ for testing.

MFC after:	2 weeks
2005-01-08 09:10:20 +00:00
davidxu
6f1e481e4d Break out of loop earlier if it is not timeout. 2005-01-08 06:57:46 +00:00
brooks
61aaea5fa0 Change the USB keyboard example to use /dev/ukbd0 instead of /dev/kbd1.
This example caused me to incorrectly believe that you must use the
generic device nodes when you can in fact use either.  It's often better
to use the driver specific node.
2005-01-08 06:02:56 +00:00
brooks
cfc1c07f99 When ukbd0 arrives, attach to /dev/ukbd0 rather then /dev/kbd1 since
kbd1 might be something else.
2005-01-08 06:00:24 +00:00
rwatson
21c2d460fc Annotate that pfs_exit() always acquires and releases two mutexes for
every process exist, even if procfs isn't mounted.  And one of those
mutexes is Giant.  No immediate thoughts on fixing this.
2005-01-08 04:56:38 +00:00
rwatson
afca6a6239 In acct_process(), do a lockless read of acctvp to see if it's NULL
before deciding to do more expensive locking to account for process
exit.  This acceptable minor race avoids two mutex operations in
that highly common case of accounting not being enabled.

MFC after:	2 weeks
2005-01-08 04:45:57 +00:00
darrenr
41cf7f35b4 Elminate 1 LOR (actually a recursive mutex grab) involving ipfilter where
we loop through all the list of NICs (struct ifnet), holding the lock on
it and then do a name lookup with ifunit() whilst holding it.
2005-01-08 04:32:02 +00:00
rwatson
79b283cecc In kern_wait(), let the compiler copy the rusage structure rather than
an explicit bcopy() -- it probably does a better job.
2005-01-08 04:17:48 +00:00
brueffer
3969b24d31 Remove the LSI MegaRAID SATA 150-2, this is a SiL 3112 based software RAID
device.

Submitted by:	Martin Nilsson <martin@gneto.com>
MFC after:	3 days
2005-01-08 03:07:49 +00:00
hsu
9eb91343d4 Fix copyright notice. 2005-01-08 01:59:36 +00:00
phk
2fb9d314a7 Revert local experiment which leaked into commit. 2005-01-07 23:54:16 +00:00
phk
cd49c1d16c Fix compilation of DEVICE_POLLING code. 2005-01-07 23:52:41 +00:00
wilko
a04d8dc73a Document slot specific location for base I/O board on AS600.
Thanks to: Charles Smeijer for getting me my AS600.
2005-01-07 21:05:45 +00:00
keramida
60b48ba413 Reorganize the DESCRIPTION section, using .Bl lists to separate the
descriptions of items from each other and have related things appear
in the same nesting 'level'.

The .Fn function/macro, and bump document date.

Reviewed by:	jkoshy
2005-01-07 19:41:00 +00:00
wilko
6dd4d23f3d Note that fdisk is not used on Alpha.
Remove outdated info on install media.

Submitted by: "William H. Magill" <magill@mcgillsociety.org>
2005-01-07 19:32:32 +00:00
keramida
b7717ebc5c Comment typo.
PR:		kern/75923
Submitted by:	Matthew D. Fuller <fullermd@over-yonder.net>
2005-01-07 19:31:43 +00:00
jhb
0e5c952f88 Fix support for machines with default MP Table configurations:
- Fix the MP Table pci bridge drivers to not probe the configuration table
  unless we actually have one.  Machines using a default configuration do
  not have such a table.
- Only allow default configuration types of 5 (ISA + PCI) and 6 (EISA +
  PCI) as the others are not likely to work.  Types 1 through 4 use an
  external APIC (probably with 80486 processors) which we certainly do not
  support, and type 7 uses an MCA bus which has not been tested with the
  new MP Table code.
- Correct the fact that the single I/O APIC in a default configuration has
  an ID of 2, not 0.
- Fix off by one errors in setting the bus types from the default_data[]
  arrays for default configurations.
- Explicitly configure each of the 16 interrupt pins on the sole I/O APIC
  when using a default configuration.  This is especially helpful for type
  6 (EISA + PCI) since the EISA interrupts need to have their polarity
  programmed based on the values in the ELCR.

Much thanks to the submitter and tester who endured several rounds of
testing to get this fixed.

MFC after:	1 week
Tested by:	Georg Schwarz georg dot schwarz at freenet dot de
2005-01-07 18:42:59 +00:00
maxim
f966b643b6 Finish src part VFS_INIT.9 removal. Need to check www/. 2005-01-07 15:38:21 +00:00
keramida
aaa4e74647 The `timep' argument of utime() is not an array of structs.
Make sure we don't confuse the reader by claiming it is.

PR:		docs/75615
Submitted by:	Nobuyuki Koganemaru <n-kogane@syd.odn.ne.jp>
2005-01-07 14:38:29 +00:00
keramida
d0c8626d65 The .Fn macro. 2005-01-07 14:10:59 +00:00
keramida
070993d17f The .Fn macro and addition of .Fa in the tag width of the
argument description list.
2005-01-07 14:01:08 +00:00
keramida
ae38ead4b8 - The .Fn macro and description of the struct statfs' type of sbp'.
- List of struct statfs fields that are related to file systems, much
  like the list in stat.2 for the userlevel `struct stat'.
- Bump document date.
2005-01-07 12:56:04 +00:00
rse
fad9806e75 Fix the derivation of the GEOM name from the specified device name by
complementing the existing special case of a not existing /dev prefix
with the recognition of an already existing /dev prefix.

This implicitly solves the following two issues related to working on
GEOM devices /dev/foo/bar (which have the GEOM provider name "foo/bar")
with the expected commands like "bsdlabel /dev/foo/bar":

1. the error "Geom not found" when trying to write or edit the BSD
   label (because previously the incorrect GEOM name "bar" instead of
   "foo/bar" was derived from "/dev/foo/bar").

2. the multiple times reported "magically introduced" partition offset
   of 63 blocks and the resulting errors like "partition extends past
   end of unit" and "partition c doesn't start at 0!".

   This implicitly resulted because bsdlabel(8) determines the "MBR
   offset" via GEOM and (intentionally) silently falls back to an offset
   of 0 if it could not be queried (which is the case if the name was
   incorrectly derived).

   Usually (at least on PCs) the offset for the first slice is 63 blocks
   and bsdlabel(8) automatically subtracts them from the absolute
   offsets in the read on-disk BSD label, resulting in the display of an
   effective offset of 0. If the GEOM query fails, the assumed offset of
   0 is subtracted and an incorrect effective offset of 63 is displayed
   and tried to be worked upon.

Reviewed by: pjd
MFC after: 1 week
2005-01-07 12:19:57 +00:00
keramida
96e30a8273 The .Fn macro, document `flags' argument & bump document date. 2005-01-07 12:14:43 +00:00
delphij
3dde50a830 WARNS=6 cleanup. This includes:
- Apply __unused on unused parameters
	- Use const where suitable
	- Use PRIu64 instead of the deprecated %q
	- Bump WARNS to 6
2005-01-07 12:06:30 +00:00