Commit Graph

120076 Commits

Author SHA1 Message Date
andre
fcbebc5c9c Include ip_options.h for IPX-IP encapsulation.
Noticed by:	Tinderbox
Sponsored by:   TCP/IP Optimization Fundraise 2005
2005-11-20 16:17:12 +00:00
damien
5379f800ab Use memcpy/memset consistently accross ipw and iwi instead of bcopy/bzero. 2005-11-20 16:13:00 +00:00
damien
8dd03324f7 Don't use /etc/firmware. /etc is for configuration files only.
Use /boot to store firmware files instead.

Requested by:	Daniel O'Connor, Scott Long
2005-11-20 16:02:04 +00:00
dds
1af684ac85 Use the appropriate error function for displaying the error,
instead of printing it to stdout.

MFC after:	1 week
2005-11-20 13:48:15 +00:00
le
00a607320a Whitespace. 2005-11-20 12:14:18 +00:00
le
d875cd85c6 Always declare variables at the start of the function.
Don't allocate potentially large variables on the stack.
Check strsep() return values when the string comes from userland.
Shorten variable names for lucidity's sake.

most of the stuff:
Pointed out by:    njl@
2005-11-20 12:12:31 +00:00
le
f2329c2aa6 Fix whitespace issue.
Pointed out by:   joel@
2005-11-20 10:40:06 +00:00
le
4da7d685ab Fix whitespace issues.
Pointed out by:    joel@
2005-11-20 10:35:46 +00:00
alc
b77df1e33a Eliminate pmap_init2(). It's no longer used. 2005-11-20 06:09:49 +00:00
scottl
34992d5afb Fix compile on 64-bit platforms. 2005-11-20 04:27:24 +00:00
marcel
c93740ec14 Improve inittodr(). Assume the real-time clock is reliable and only
use the base time in case the real-time clock is bogus or behind the
base time. Most importantly, don't sanity-check the base time up front
because it may be zero. This is not a preposterous condition. It just
means that none of the file systems have their mount time updated.

MFC after: 1 week
2005-11-20 01:31:29 +00:00
wpaul
0b2e0bd48c Correct the API for Windows interupt handling a little. The prototype
for a Windows ISR is 'BOOLEAN isrfunc(KINTERRUPT *, void *)' meaning
the ISR get a pointer to the interrupt object and a context pointer,
and returns TRUE if the ISR determines the interrupt was really generated
by the associated device, or FALSE if not.

I had mistakenly used 'void isrfunc(void *)' instead. It happens the
only thing this affects is the internal ndis_intr() ISR in subr_ndis.c,
but it should be fixed just in case we ever need to register a real
Windows ISR vi IoConnectInterrupt().

For NDIS miniports that provide a MiniportISR() method, the 'is_our_intr'
value returned by the method serves as the return value from ndis_isr(),
and 'call_isr' is used to decide whether or not to schedule the interrupt
handler via DPC. For drivers that only supply MiniportEnableInterrupt()
and MiniportDisableInterrupt() methods, call_isr is always TRUE and
is_our_intr is always FALSE.

In the end, there should be no functional changes, except that now
ntoskrnl_intr() can terminate early once it finds the ISR that wants
to service the interrupt.
2005-11-20 01:29:29 +00:00
cperciva
87a93f24a5 An empty file does not have a positive number of lines.
Make sure that the number of lines read is non-zero before in order to
avoid dumping core.

Reported by:	Wojciech A. Koszek
Pointy hat to:	cperciva
2005-11-20 00:50:30 +00:00
rodrigc
70aecc46b0 Add more options to ffs_opts, so that vfs_filteropts() will not
complain when we pass these options to a UFS filesystem as strings
via nmount():  noexec, nosuid, nosymfollow, sync, suiddir
2005-11-19 23:28:19 +00:00
imp
2649691fbc Return 0 if we are a network card and do match. Previously, we'd bogusly
fail and the card wouldn't be detected.

Submitted by: Bryan Blackburn
2005-11-19 23:26:57 +00:00
marcel
7fe698f697 Fix bug introduced in revision 1.186:
When all file systems have a time stamp of zero, which is the case
for example when the root file system is on a read-only medium, we
ended up not calling inittodr() at all.  A potential uncleanliness
existed as well. If multiple file systems had a non-zero time stamp,
we would call inittodr() multiple times. While this should not be
harmful, it's definitely not ideal.
Fix both issues by iterating over the mounted file systems to find
the largest time stamp and call inittodr() exactly once with that
time stamp. This could of course be a zero time stamp if none of the
mounted file systems have a non-zero time stamp. In that case the
annoying errors mentioned in the commit log for revision 1.186 still
haven't been avoided. The bottom line is that inittodr() should not
complain when it gets a time base of zero. At the time of this
commit only alpha seems to have that problem.

Reported by: Dario Freni (saturnero at freesbie dot org)
MFC after: 1 week
2005-11-19 21:51:45 +00:00
rodrigc
9cf0eb5132 Parse more mount options in vfs_donmount(), before vfs_domount()
is called.  It looks like there are lots of different mount flags checked
in vfs_domount(), so we need to do the parsing for these particular
mount flags earlier on.  The new flags parsed are:
async, force, multilabel, noasync, noatime, noclusterr, noclusterw,
noexec, nosuid, nosymfollow, snapshot, suiddir, sync, union.

Existing code which uses mount() to mount UFS filesystems is not
affected, but new code which uses nmount() to mount UFS filesystems
should behave better.
2005-11-19 21:22:21 +00:00
le
dccc51c176 Finally bring in what was produced during Google SoC 2005:
Add functions to rename objects and to move a subdisk from one drive
to another.

Add manual page (finally).

Bring up-to-date the online help.

Obtained from:  Chris Jones <chris.jones@ualberta.ca>
Sponsored by:   Google Summer of Code 2005
MFC in:         1 week
2005-11-19 20:26:52 +00:00
le
7f74b7e086 Finally bring in what was produced during Google SoC 2005:
Add functions to rename objects and to move a subdisk from one drive
to another.

Obtained from:  Chris Jones <chris.jones@ualberta.ca>
Sponsored by:   Google Summer of Code 2005
MFC in:         1 week
2005-11-19 20:25:18 +00:00
damien
e13ba63af7 Remove references to iwicontrol.
Firmware is now loaded by the driver itself.

Remove references to wicontrol.
wicontrol should not be used with iwi.
2005-11-19 17:26:54 +00:00
andre
7649e1342f Remove 'ipprintfs' which were protected under DIAGNOSTIC. It doesn't
have any know to enable it from userland and could only be enabled by
either setting it to 1 at compile time or through the kernel debugger.

In the future it may be brought back as KTR tracing points.

Discussed with:	rwatson
Sponsored by:	TCP/IP Optimization Fundraise 2005
2005-11-19 17:04:52 +00:00
damien
a920304891 Load firmware images directly from the filesystem (looks into /etc/firmware
directory by default) without requiring the user to load them by hand using
e.g iwicontrol.  Get rid of the old ioctl crud.
Updated iwi-firmware port coming soon.

Obtained from:	OpenBSD
2005-11-19 16:54:55 +00:00
rodrigc
736e6b710d Properly parse the nowin95 mount option.
Tested by:	Rainer Hurling <rhurlin at gwdg dot de>
2005-11-19 16:38:39 +00:00
damien
4dd5f1433a Minor tweaks. 2005-11-19 15:08:05 +00:00
andre
5d67ac3cb1 Move MAX_IPOPTLEN and struct ipoption back into ip_var.h as
userland programs depend on it.

Pointed out by:	le
Sponsored by:	TCP/IP Optimization Fundraise 2005
2005-11-19 14:01:32 +00:00
jkoshy
9ea441a309 - Move the documentation for the ENABLE_WPA_SUPPLICANT_EAPOL knob to into
the list for 'world' builds.
- Increase the width of a bullet list.
- Use .Ss to name sub-sections of this file.
2005-11-19 12:21:11 +00:00
simon
ac5e3a71fd Do not explicitly state how many bytes an argument list can be in the
description of E2BIG, since it's now larger on some platforms.

MFC after:	3 days
2005-11-19 11:30:55 +00:00
ru
197c8754aa Revert last revision by phk@, it's redundant since bsd.incs.mk
already handles this, FWIW.
2005-11-19 07:04:17 +00:00
ru
93ebc2479a Add the NO_INCS knob to bsd.prog.mk and bsd.lib.mk to not include
bsd.incs.mk, and use it when installing 32-bit compat libraries
on amd64.  This causes it to *not* overwrite native headers with
i386 versions, which was the case with <fenv.h> and <vgl.h>.

PR:		amd64/83806
Prodded by:	bde
MFC after:	1 week
2005-11-19 06:45:44 +00:00
marcel
d7ead39c65 o Include <sys/time.h>
o  Make this ILP32/LP64 clean: cast pointers to long
o  Code conditional upon DEBUG must also be conditional
   upon _LIBC_R_
2005-11-19 04:47:06 +00:00
marcel
3886f95485 o Include <string.h>
o  Make this ILP32/LP64 clean: cast pointers to long.
2005-11-19 04:45:15 +00:00
marcel
bfb066610e Fix typo: s/_LIBC_R/_LIBC_R_/ 2005-11-19 04:43:29 +00:00
bde
558fb238b1 Moved all the optimizations for |x| <= 9pi/2 from
__ieee754_rem_pio2f() to its 3 callers and manually inline them.

On Athlons, with favourable compiler flags and optimizations and
favourable pipeline conditions, this gives a speedup of 30-40 cycles
for cosf(), sinf() and tanf() on the range pi/4 < |x| <= 9pi/4, so
thes functions are now signifcantly faster than the hardware trig
functions in many cases.  E.g., in a benchmark with uniformly distributed
x in [-2pi, 2pi], A64 hardware fcos took 72-129 cycles and cosf() took
37-55 cycles.  Out-of-order execution is needed to get both of these
times.  The optimizations in this commit apparently work more by
removing 1 serialization point than by reducing latency.
2005-11-19 02:38:27 +00:00
rodrigc
666e602c46 Add "shortnames" and "longnames" mount options which are
synonyms for "shortname" and "longname" mount options.  The old
(before nmount()) mount_msdosfs program accepted "shortnames" and "longnames",
but the kernel nmount() checked for "shortname" and "longname".
So, make the kernel accept "shortnames", "longnames", "shortname", "longname"
for forwards and backwarsd compatibility.

Discovered by:	Rainer Hurling <rhurlin at gwdg dot de>
2005-11-18 22:34:31 +00:00
damien
7df37188b7 ural now supports automatic rate adaptation in BSS mode. 2005-11-18 21:46:28 +00:00
damien
643861c741 Second part of the AMRR commit.
Enable automatic rate adaptation in BSS operating mode.
Works great here.  Will need a lot of testing though.
2005-11-18 21:37:02 +00:00
andre
a6a209f2cc Consolidate all IP Options handling functions into ip_options.[ch] and
include ip_options.h into all files making use of IP Options functions.

From ip_input.c rev 1.306:
  ip_dooptions(struct mbuf *m, int pass)
  save_rte(m, option, dst)
  ip_srcroute(m0)
  ip_stripoptions(m, mopt)

From ip_output.c rev 1.249:
  ip_insertoptions(m, opt, phlen)
  ip_optcopy(ip, jp)
  ip_pcbopts(struct inpcb *inp, int optname, struct mbuf *m)

No functional changes in this commit.

Discussed with:	rwatson
Sponsored by:	TCP/IP Optimization Fundraise 2005
2005-11-18 20:12:40 +00:00
emaste
50b1ba762b Add sanity checking for QUEUE(3) lists under INVARIANTS. Races may lead
to list corruption, which can be difficult to unravel in a post-mortem
analysis.  These checks verify that prev and next pointers are consistent
when inserting or removing elements, thus catching any corruption earlier.

Also use TRASHIT to break LIST and SLIST link pointers on element removal,
from mlaier via -hackers.

Reviewed by:	mlaier
Approved by:	rwatson (mentor)
2005-11-18 19:41:55 +00:00
ru
6a9f60226a Unifdef for FreeBSD. 2005-11-18 19:38:45 +00:00
jhb
e1ea0a67e3 - Always print the trap number so that we have something to start with for
mystery traps.  If we don't have a message for a given trap, just use
  UNKNOWN for the message.
- Add trap messages for T_XMMFLT and T_RESERVED.

MFC after:	1 week
2005-11-18 19:26:46 +00:00
andre
e76b2aa5e3 Document CLOCK_UPTIME which returns the current uptime in SI seconds.
At the moment it is just an alias for CLOCK_MONOTONIC which reports
the same number.

Sponsored by:	TCP/IP Optimization Fundraise 2005
2005-11-18 17:13:22 +00:00
andre
c43b76d70f Remove references to MEXT_ADD_REF, MEXT_REM_REF and MEXT_IS_REF
which were removed with rev. 1.179 of mbuf.h.

Sponsored by:	TCP/IP Optimization Fundraise 2005
2005-11-18 17:04:49 +00:00
andre
73d3dcb9b2 Add CLOCK_UPTIME to clock_gettime(2) reporting the current
uptime measured in SI seconds.

Sponsored by:	TCP/IP Optimization Fundraise 2005
2005-11-18 16:51:13 +00:00
ps
17a7a09cd1 Add support for a new/unreleased Pentium-M.
Reviewed by:	jkoshy
2005-11-18 16:47:24 +00:00
andre
60a2f6f1b5 Purge layer specific mbuf flags on layer crossings to avoid confusing
upper or lower layers.

Sponsored by:	TCP/IP Optimization Fundraise 2005
2005-11-18 16:23:26 +00:00
andre
ae7b5c1a18 Rework icmp_error() to deal with truncated IP packets from
ip_forward() when doing extended quoting in error messages.

Sponsored by:	TCP/IP Optimization Fundraise 2005
2005-11-18 14:48:42 +00:00
andre
91d9d9ad2a In ip_forward() copy as much into the temporary error mbuf as we
have free space in it.  Allocate correct mbuf from the beginning.
This allows icmp_error() to quote the entire TCP header in error
messages.

Sponsored by:	TCP/IP Optimization Fundraise 2005
2005-11-18 14:44:48 +00:00
andre
ae3ca56f7b Add KASSERTs to M_ALIGN() and MH_ALIGN() to prevent usage on wrong
mbuf types.

Sponsored by:	TCP/IP Optimization Fundraise 2005
2005-11-18 14:40:43 +00:00
ru
6e1cf27cb4 Fix markup, grammar and spelling. 2005-11-18 14:21:28 +00:00
jkoshy
f5f13b9dcd Cross-reference hwpmc(4). 2005-11-18 14:05:47 +00:00