dragonfly.git
12 years agosh: Add do-nothing -h option.
Peter Avalos [Sun, 21 Aug 2011 21:52:20 +0000 (14:52 -0700)]
sh: Add do-nothing -h option.

POSIX requires a -h option to sh and set, to locate and remember
utilities invoked by functions as they are defined. Given that this
locate-and-remember process is optional elsewhere, it seems safe enough
to make this option do nothing.

POSIX does not specify a long name for this option. Follow ksh in
calling it "trackall".

Obtained-from:   FreeBSD 223281

12 years agosh: Add case statement fallthrough (with ';&' instead of ';;').
Peter Avalos [Sun, 21 Aug 2011 21:45:13 +0000 (14:45 -0700)]
sh: Add case statement fallthrough (with ';&' instead of ';;').

Replacing ;; with the new control operator ;& will cause the next list
to be executed as well without checking its pattern, continuing until
a list ends with ;; or until the end of the case statement. This is
like omitting "break" in a C "switch" statement.

The sequence ;& was formerly invalid.

This feature is proposed for the next POSIX issue in Austin Group
issue #449.

Obtained-from:   FreeBSD 223186

12 years agosh: Skip vars with invalid names in "set", "export -p", "readonly -p".
Peter Avalos [Sun, 21 Aug 2011 21:39:50 +0000 (14:39 -0700)]
sh: Skip vars with invalid names in "set", "export -p", "readonly -p".

This ensures the output of these commands is valid shell input.

Obtained-from:   FreeBSD 223183

12 years agosh: Reduce unnecessary forks with eval.
Peter Avalos [Sun, 21 Aug 2011 21:36:38 +0000 (14:36 -0700)]
sh: Reduce unnecessary forks with eval.

The eval special builtin now runs the code with EV_EXIT if it was run
with EV_EXIT itself.

In particular, this eliminates one fork when a command substitution
contains an eval command that ends with an external program or a
subshell.

Obtained-from:   FreeBSD 223163

12 years agosh: Add support for named character classes in bracket expressions.
Peter Avalos [Sun, 21 Aug 2011 21:33:45 +0000 (14:33 -0700)]
sh: Add support for named character classes in bracket expressions.

Example:
  case x in [[:alpha:]]) echo yes ;; esac

Obtained-from:   FreeBSD 223120

12 years agosh: Fix duplicate prototypes for builtins.
Peter Avalos [Sun, 21 Aug 2011 21:21:56 +0000 (14:21 -0700)]
sh: Fix duplicate prototypes for builtins.

Have mkbuiltins write the prototypes for the *cmd functions to
builtins.h instead of builtins.c and include builtins.h in more
.c files instead of duplicating prototypes for *cmd functions in
other headers.

Obtained-from:   FreeBSD 223060

12 years agosh: Save/restore changed variables in optimized command substitution.
Peter Avalos [Sun, 21 Aug 2011 20:54:19 +0000 (13:54 -0700)]
sh: Save/restore changed variables in optimized command substitution.

In optimized command substitution, save and restore any variables
changed by expansions (${var=value} and $((var=assigned))), instead of
trying to determine if an expansion may cause such changes.

If $! is referenced in optimized command substitution, do not cause jobs
to be remembered longer.

This fixes $(jobs $!) again, simplifies the man page and shortens the
code.

Obtained-from:   FreeBSD 223024

12 years agosh: Read .profile from the home directory (or / if HOME is not set).
Peter Avalos [Sun, 21 Aug 2011 20:42:26 +0000 (13:42 -0700)]
sh: Read .profile from the home directory (or / if HOME is not set).

In most cases, login shells are started from the home directory, but not
in all, such as xterm -ls.

Obtained-from:   FreeBSD 223005

12 years agosh: Do parameter expansion on ENV before using it.
Peter Avalos [Sun, 21 Aug 2011 20:38:33 +0000 (13:38 -0700)]
sh: Do parameter expansion on ENV before using it.

This is required by POSIX, and allows things like ENV=\$HOME/.shrc.

Obtained-from:   FreeBSD 222957

12 years agosh: Do parameter expansion before printing PS4 (set -x).
Peter Avalos [Sun, 21 Aug 2011 20:26:53 +0000 (13:26 -0700)]
sh: Do parameter expansion before printing PS4 (set -x).

Obtained-from:   FreeBSD 222907

12 years agosh: Fix $? in heredocs on simple commands.
Peter Avalos [Sun, 21 Aug 2011 20:10:39 +0000 (13:10 -0700)]
sh: Fix $? in heredocs on simple commands.

Obtained-from:   FreeBSD 222716

12 years agosh: Improve error message if the script cannot be opened.
Peter Avalos [Sun, 21 Aug 2011 20:05:22 +0000 (13:05 -0700)]
sh: Improve error message if the script cannot be opened.

Avoid "<nosuchfile>: cannot open <nosuchfile>: ...".

Obtained-from:   FreeBSD 222699

12 years agosh: Reduce more needless differences between error messages.
Peter Avalos [Sun, 21 Aug 2011 19:58:01 +0000 (12:58 -0700)]
sh: Reduce more needless differences between error messages.

Obtained-from:   FreeBSD 222684

12 years agosh: Honor -n while processing -c string.
Peter Avalos [Sun, 21 Aug 2011 19:52:25 +0000 (12:52 -0700)]
sh: Honor -n while processing -c string.

Obtained-from:   FreeBSD 222676

12 years agosh: Remove the "exp" builtin.
Peter Avalos [Sun, 21 Aug 2011 19:50:34 +0000 (12:50 -0700)]
sh: Remove the "exp" builtin.

The "exp" builtin is undocumented, non-standard and not very useful.

Obtained-from:   FreeBSD 222386

12 years agosh: Correct criterion for using CDPATH in cd.
Peter Avalos [Sun, 21 Aug 2011 19:46:44 +0000 (12:46 -0700)]
sh: Correct criterion for using CDPATH in cd.

CDPATH should be ignored not only for pathnames starting with '/' but
also for pathnames whose first component is '.' or '..'.

Obtained-from:   FreeBSD 222381

12 years agosh: Various updates to the TOUR document.
Peter Avalos [Sun, 21 Aug 2011 19:41:55 +0000 (12:41 -0700)]
sh: Various updates to the TOUR document.

Obtained-From:   FreeBSD 222362

12 years agosh: Fix unquoted $@/$* if IFS=''.
Peter Avalos [Sun, 21 Aug 2011 19:39:23 +0000 (12:39 -0700)]
sh: Fix unquoted $@/$* if IFS=''.

If IFS is null, unquoted $@/$* should still expand to separate words.
This differs from quoted $@ (which does not depend on IFS) in that
pathname generation is performed and empty words are removed.

Obtained-from:   FreeBSD 222361

12 years agosh: Show errno messages in cd.
Peter Avalos [Sun, 21 Aug 2011 19:34:40 +0000 (12:34 -0700)]
sh: Show errno messages in cd.

Obtained-from:   FreeBSD 222292

12 years agosh: Remove obsolete token type TENDBQUOTE.
Peter Avalos [Sun, 21 Aug 2011 19:32:57 +0000 (12:32 -0700)]
sh: Remove obsolete token type TENDBQUOTE.

Obtained-from:   FreeBSD 222182

12 years agosh: Fix typo in comment.
Peter Avalos [Sun, 21 Aug 2011 19:31:07 +0000 (12:31 -0700)]
sh: Fix typo in comment.

Obtained-from:   FreeBSD 222178

12 years agosh: Fix bss-based buffer overflow in . builtin.
Peter Avalos [Sun, 21 Aug 2011 19:27:39 +0000 (12:27 -0700)]
sh: Fix bss-based buffer overflow in . builtin.

If the length of a directory in PATH together with the given filename
exceeded FILENAME_MAX (which may happen even for pathnames that work), a
static buffer was overflown.

The static buffer is unnecessary, we can use the stalloc() stack.

Obtained-from:     FreeBSD 222173

12 years agosh: Expand aliases after assignments and redirections.
Peter Avalos [Sun, 21 Aug 2011 19:23:11 +0000 (12:23 -0700)]
sh: Expand aliases after assignments and redirections.

Obtained-from:     FreeBSD 222165

12 years agosh: Implement the cd -e flag proposed for the next POSIX issue.
Peter Avalos [Tue, 5 Jul 2011 03:40:08 +0000 (17:40 -1000)]
sh: Implement the cd -e flag proposed for the next POSIX issue.

This reflects failure to determine the pathname of the new directory in
the exit status (1). Normally, cd returns successfully if it did
chdir() and the call was successful.

In POSIX, -e only has meaning with -P; because our -L is not entirely
compliant and may fall back to -P mode, -e has some effect with -L as
well.

Obtained-from:   FreeBSD SVN rev 222154

12 years agosh: Allow terminating a heredoc with a terminator at EOF w/o newline.
Peter Avalos [Tue, 5 Jul 2011 03:35:34 +0000 (17:35 -1000)]
sh: Allow terminating a heredoc with a terminator at EOF w/o newline.

Obtained-from:   FreeBSD SVN rev 222134

12 years agosh: Minor optimization to output from ulimit/export/readonly.
Peter Avalos [Tue, 5 Jul 2011 03:32:26 +0000 (17:32 -1000)]
sh: Minor optimization to output from ulimit/export/readonly.

Obtained-from:   FreeBSD SVN rev 221975

12 years agosh: Avoid close(-1) when evaluating a multi-command pipeline.
Peter Avalos [Tue, 5 Jul 2011 03:30:11 +0000 (17:30 -1000)]
sh: Avoid close(-1) when evaluating a multi-command pipeline.

Obtained-from:   FreeBSD SVN rev 221970

12 years agosh: Add \u/\U support (in $'...') for UTF-8.
Peter Avalos [Sun, 3 Jul 2011 07:44:12 +0000 (21:44 -1000)]
sh: Add \u/\U support (in $'...') for UTF-8.

Note that \u/\U are processed using the locale that was active when the
shell started. This is necessary to avoid behaviour that depends on the
parse/execute split (for example when placing braces around an entire
script). Therefore, UTF-8 encoding is implemented manually.

Obtained-from:   FreeBSD SVN rev 221669

12 years agosh: Fix typos in comments.
Peter Avalos [Sun, 3 Jul 2011 07:31:51 +0000 (21:31 -1000)]
sh:  Fix typos in comments.

12 years agosh: Optimize variable code by storing the length of the name.
Peter Avalos [Sun, 3 Jul 2011 07:29:43 +0000 (21:29 -1000)]
sh: Optimize variable code by storing the length of the name.

Obtained-from:   FreeBSD SVN rev 221668

12 years agosh(1): Update BUGS section for UTF-8 support.
Peter Avalos [Sun, 3 Jul 2011 07:11:50 +0000 (21:11 -1000)]
sh(1): Update BUGS section for UTF-8 support.

Obtained-from:   FreeBSD SVN rev 221660

12 years agosh: Add UTF-8 support to pattern matching.
Peter Avalos [Sun, 21 Aug 2011 20:48:41 +0000 (13:48 -0700)]
sh: Add UTF-8 support to pattern matching.

?, [...] patterns match codepoints instead of bytes. They do not match
invalid sequences. [...] patterns must not contain invalid sequences
otherwise they will not match anything. This is so that ${var#?} removes
the first codepoint, not the first byte, without putting UTF-8 knowledge
into the ${var#pattern} code. However, * continues to match any string
and an invalid sequence matches an identical invalid sequence. (This
differs from fnmatch(3).)

Obtained-from:   FreeBSD SVN rev 221646 & 223010

12 years agosh: Add UTF-8 support to ${#var}.
Peter Avalos [Sun, 3 Jul 2011 02:31:33 +0000 (16:31 -1000)]
sh: Add UTF-8 support to ${#var}.

If the current locale uses UTF-8, ${#var} counts codepoints (more
precisely, bytes b with (b & 0xc0) != 0x80).

Obtained-from:   FreeBSD SVN rev 221602

12 years agosh: Track if the current locale's charset is UTF-8 or not.
Peter Avalos [Sun, 3 Jul 2011 02:28:16 +0000 (16:28 -1000)]
sh: Track if the current locale's charset is UTF-8 or not.

Obtained-from:   FreeBSD SVN rev 221559

12 years agosh: Change the CTL* bytes to ones invalid in UTF-8.
Peter Avalos [Sun, 3 Jul 2011 02:15:36 +0000 (16:15 -1000)]
sh: Change the CTL* bytes to ones invalid in UTF-8.

This ensures that mbrtowc(3) can be used directly once it has been
verified that there is no CTL* byte. Dealing with a CTLESC byte
within a multibyte character would be complicated.

Obtained-from:   FreeBSD SVN rev 221551

12 years agosh: Add $'quoting' (C-style escape sequences).
Peter Avalos [Sun, 3 Jul 2011 00:29:49 +0000 (14:29 -1000)]
sh: Add $'quoting' (C-style escape sequences).

A string between $' and ' may contain backslash escape sequences similar
to the ones in a C string constant (except that a single-quote must be
escaped and a double-quote need not be). Details are in the sh(1) man
page.

This construct is useful to include unprintable characters, tabs and
newlines in strings; while this can be done with a command substitution
containing a printf command, that needs ugly workarounds if the result
is to end with a newline as command substitution removes all trailing
newlines.

The construct may also be useful in future to describe unprintable
characters without needing to write those characters themselves in 'set
-x', 'export -p' and the like.

The implementation attempts to comply to the proposal for the next issue
of the POSIX specification. Because this construct is not in
POSIX.1-2008, using it in scripts intended to be portable is unwise.

Matching the minimal locale support in the rest of sh, the \u and \U
sequences are currently not useful.

Obtained-from:   FreeBSD SVN rev 221513

12 years agosh: Apply set -u to variables in arithmetic.
Peter Avalos [Sun, 3 Jul 2011 00:07:08 +0000 (14:07 -1000)]
sh: Apply set -u to variables in arithmetic.

Note that this only applies to variables that are actually used.
Things like (0 && unsetvar) do not cause an error.

Obtained-from:   FreeBSD SVN rev 221463

12 years agosh: Detect an error for ${#var<GARBAGE>}.
Peter Avalos [Sun, 3 Jul 2011 00:03:42 +0000 (14:03 -1000)]
sh: Detect an error for ${#var<GARBAGE>}.

In particular, this makes things like ${#foo[0]} and ${#foo[@]} errors
rather than silent equivalents of ${#foo}.

Obtained-from:   FreeBSD SVN rev 221461

12 years agosh: Set $? to 0 for background commands.
Peter Avalos [Sat, 2 Jul 2011 23:59:09 +0000 (13:59 -1000)]
sh: Set $? to 0 for background commands.

For backgrounded pipelines and subshells, the previous value of $? was
being preserved, which is incorrect.

For backgrounded simple commands containing a command substitution, the
status of the last command substitution was returned instead of 0.

If fork() fails, this is an error.

Obtained-from:   FreeBSD SVN rev 221027

12 years agosh: Remove duplicate code resetting uid/gid for set +p/+o privileged.
Peter Avalos [Sat, 2 Jul 2011 23:47:49 +0000 (13:47 -1000)]
sh: Remove duplicate code resetting uid/gid for set +p/+o privileged.

sh: Check setuid()/setgid() return values.

If the -p option is turned off, privileges from a setuid or setgid
binary are dropped. Make sure to check if this succeeds. If it
fails, this is an error which will cause the shell to abort except
in interactive mode or if 'command' was used to make 'set' or an
outer 'eval' or '.' non-special.

Obtained-from:   FreeBSD SVN rev 221011 & 221012

12 years agosh: Allow EV_EXIT through function calls.
Peter Avalos [Sat, 2 Jul 2011 23:38:15 +0000 (13:38 -1000)]
sh: Allow EV_EXIT through function calls.

make {...} <redir more consistent.

If EV_EXIT causes an exit, use the exception mechanism to unwind
redirections and local variables. This way, if the final command is a
redirected command, an EXIT trap now executes without the redirections.

Because of these changes, EV_EXIT can now be inherited by the body of a
function, so do so. This means that a function no longer prevents a fork
before an exec being skipped, such as in
  f() { head -1 /etc/passwd; }; echo $(f)

Wrapping a single builtin in a function may still cause an otherwise
unnecessary fork with command substitution, however.

An exit command or -e failure still invokes the EXIT trap with the
original redirections and local variables in place.

Note: this depends on SHELLPROC being gone. A SHELLPROC depended on
keeping the redirections and local variables and only cleaning up the
state to restore them.

Obtained-from:   FreeBSD SVN rev 220978

12 years agosh: Do not word split "${#parameter}".
Peter Avalos [Sat, 2 Jul 2011 23:28:01 +0000 (13:28 -1000)]
sh: Do not word split "${#parameter}".

This is only a problem if IFS contains digits, which is unusual but
valid.

Obtained-from:   FreeBSD SVN rev 221522

12 years agohptiop(4): Sync with FreeBSD (adds IDs for two more cards).
Sascha Wildner [Sun, 21 Aug 2011 17:45:09 +0000 (19:45 +0200)]
hptiop(4): Sync with FreeBSD (adds IDs for two more cards).

12 years agointr/i386: Define IDT_HWI_VECTORS
Sepherosa Ziehau [Sun, 21 Aug 2011 13:02:48 +0000 (21:02 +0800)]
intr/i386: Define IDT_HWI_VECTORS

This macro defines how many IDT vectors that could be setup as hardware
interrupts.  Use this macro instead of MAX_HARDINTS and APIC_INTMAPSIZE.

12 years agoicu/i386: Remove unnecessary header inclusion
Sepherosa Ziehau [Sun, 21 Aug 2011 11:33:54 +0000 (19:33 +0800)]
icu/i386: Remove unnecessary header inclusion

12 years agoadd more information to a failing assertion's panic message
Adam Hoka [Thu, 11 Aug 2011 16:52:59 +0000 (18:52 +0200)]
add more information to a failing assertion's panic message

Signed-off-by: Venkatesh Srinivas <me@endeavour.zapto.org>
12 years agokernel - Fix vm_object leak which could exhaust swap space
Matthew Dillon [Sat, 20 Aug 2011 20:38:42 +0000 (13:38 -0700)]
kernel - Fix vm_object leak which could exhaust swap space

* Fix a recently introduced vm_object leak.  When deallocating a vm_object
  ref_count must be decremented prior to calling vm_object_collapse() or
  we can wind up leaving an object sitting around with 0 refs on it.

Reported-by: ftigeot, others
12 years agotcp: Enable tcp_lport_extension by default
Sepherosa Ziehau [Fri, 19 Aug 2011 02:42:17 +0000 (10:42 +0800)]
tcp: Enable tcp_lport_extension by default

12 years agoinpcb: Don't choose lport which could render same addr/port pair
Sepherosa Ziehau [Fri, 19 Aug 2011 02:05:47 +0000 (10:05 +0800)]
inpcb: Don't choose lport which could render same addr/port pair

A TCP connect to 127.0.0.1:PORT_A could be successful even if there is
no process listening on PORT_A:
127.0.0.1:PORT_A <---> 127.0.0.1:PORT_A

The problem here is that PORT_A is chosen as the lport for the socket
to be connected to PORT_A, and this actually creates simultaneous connect
on 127.0.0.1 but with only one inpcb.  Socket connected in this way is
useless and could break connect retry for the service listens on the
loopback interface.  Therefore, we skip the lport if the result will be:
(lport == fport && laddr == faddr)

NOTE: This still does not guard against explicit local port and address
chosen using bind(2) and then calling connect(2)

12 years agobrgphy: Recognize more Broadcom PHYs
Sepherosa Ziehau [Thu, 18 Aug 2011 13:44:03 +0000 (21:44 +0800)]
brgphy: Recognize more Broadcom PHYs

Obtained-from: OpenBSD, FreeBSD

12 years agomiidevs.h: regen
Sepherosa Ziehau [Thu, 18 Aug 2011 13:43:37 +0000 (21:43 +0800)]
miidevs.h: regen

12 years agomiidevs: Add more Broadcom PHY IDs
Sepherosa Ziehau [Thu, 18 Aug 2011 13:42:55 +0000 (21:42 +0800)]
miidevs: Add more Broadcom PHY IDs

Obtained-from: OpenBSD, FreeBSD

12 years agokernel: Fix alignment problem for sendmsg ancillary message data.
Venkatesh Srinivas [Wed, 17 Aug 2011 17:22:56 +0000 (10:22 -0700)]
kernel: Fix alignment problem for sendmsg ancillary message data.

Closes bug 2116; sending file descriptors is broken on amd64.

From: Darwin xnu-123.5, NetBSD socket.h 1.50

12 years agoinstaller: Tone down the comments around the installer's rc.conf settings.
Sascha Wildner [Tue, 16 Aug 2011 15:57:32 +0000 (17:57 +0200)]
installer: Tone down the comments around the installer's rc.conf settings.

dumpdev is the only thing that is written by default and it tended to
get lost among the rather verbose comments.

12 years agoLINT/LINT64: Add KTR_TSLEEP.
Sascha Wildner [Tue, 16 Aug 2011 14:18:44 +0000 (16:18 +0200)]
LINT/LINT64: Add KTR_TSLEEP.

12 years agobrgphy: Bring in changes from OpenBSD
Sepherosa Ziehau [Tue, 16 Aug 2011 09:45:30 +0000 (17:45 +0800)]
brgphy: Bring in changes from OpenBSD

- Link status is now detected using BMSR
- Extra link status detection based on AUXSTS is used for 5906
- Shuffle 5906 EPHY setting around
- brgphy_loop() is not necessary to start auto-negotiation

12 years agoFix crossbuilding x86_64 on i386.
Sascha Wildner [Tue, 16 Aug 2011 07:40:02 +0000 (09:40 +0200)]
Fix crossbuilding x86_64 on i386.

Brings back two things from cdefb602 and a262c465.

12 years agomsk(4): Add support for Yukon Supreme
Sepherosa Ziehau [Mon, 15 Aug 2011 11:31:06 +0000 (19:31 +0800)]
msk(4): Add support for Yukon Supreme

Obtained-from: FreeBSD 222230

12 years agomsk(4): Disable ASF on the chips that have it
Sepherosa Ziehau [Mon, 15 Aug 2011 11:23:14 +0000 (19:23 +0800)]
msk(4): Disable ASF on the chips that have it

Obtained-from: FreeBSD 222227

12 years agomsk(4): Make sure to enable all clocks before accessing registers.
Sepherosa Ziehau [Mon, 15 Aug 2011 11:17:49 +0000 (19:17 +0800)]
msk(4): Make sure to enable all clocks before accessing registers.

Obtained-from: FreeBSD 222226

12 years agoVFS_START() uses only two arguments
François Tigeot [Mon, 15 Aug 2011 05:35:12 +0000 (07:35 +0200)]
VFS_START() uses only two arguments

12 years agoFix crossbuilding i386 on x86_64.
Sascha Wildner [Sun, 14 Aug 2011 22:21:18 +0000 (00:21 +0200)]
Fix crossbuilding i386 on x86_64.

bfd_elf64_archive_slurp_armap() is needed for building an i386
libbfd on x86_64.

12 years agomsk(4): Only Yukon FE, XL and EC have RAM registers
Sepherosa Ziehau [Sun, 14 Aug 2011 14:08:37 +0000 (22:08 +0800)]
msk(4): Only Yukon FE, XL and EC have RAM registers

Obtained-from: FreeBSD 222223

12 years agomsk(4): Enable store and forward mode except for jumbo frame on Yukon Ultra.
Sepherosa Ziehau [Sun, 14 Aug 2011 12:52:35 +0000 (20:52 +0800)]
msk(4): Enable store and forward mode except for jumbo frame on Yukon Ultra.

Obtained-from: 222221

12 years agomsk(4): Do not blindly clear entire GPHY control register.
Sepherosa Ziehau [Sun, 14 Aug 2011 12:39:58 +0000 (20:39 +0800)]
msk(4): Do not blindly clear entire GPHY control register.

It seems some bits of the register is used for other purposes such
that clearing these bits resulted in unexpected results such as
corrupted RX frames or missing LE status updates.

Obtained-from: FreeBSD 222219

12 years agomsk(4): Don't process incoming packets if the interface is down
Sepherosa Ziehau [Sun, 14 Aug 2011 12:34:31 +0000 (20:34 +0800)]
msk(4): Don't process incoming packets if the interface is down

Obtained-from: FreeBSD 207623

12 years agomsk(4): Don't unnecessarily clear interrupt masks
Sepherosa Ziehau [Sun, 14 Aug 2011 12:29:52 +0000 (20:29 +0800)]
msk(4): Don't unnecessarily clear interrupt masks

Obtained-from: FreeBSD 207623

12 years agomdoc.local: We must indent using spaces here.
Sascha Wildner [Sat, 13 Aug 2011 20:34:22 +0000 (22:34 +0200)]
mdoc.local: We must indent using spaces here.

12 years agoSynchronize the description of struct statfs with its real
François Tigeot [Sat, 13 Aug 2011 16:25:57 +0000 (18:25 +0200)]
Synchronize the description of struct statfs with its real
definition on DragonFly 2.11

12 years agoktr(4): Allow to configure KTR_TSLEEP alone.
Sascha Wildner [Sat, 13 Aug 2011 16:03:09 +0000 (18:03 +0200)]
ktr(4): Allow to configure KTR_TSLEEP alone.

12 years agoMerge branch 'vendor/AWK'
Sascha Wildner [Fri, 12 Aug 2011 21:08:08 +0000 (23:08 +0200)]
Merge branch 'vendor/AWK'

12 years agoImport awk-20110810.
Sascha Wildner [Fri, 12 Aug 2011 21:07:23 +0000 (23:07 +0200)]
Import awk-20110810.

* /pat/, \n /pat/ {...} is now legal, though bad style to use.
* added checks to new -v code that permits -vnospace
* removed fixed limit on number of open files
* fixed day 1 bug that resurrected deleted elements of ARGV when
  used as filenames (in lib.c).
* minor type fiddles to make gcc -Wall -pedantic happier (but not
  totally so)
* split(s, a, //) now behaves the same as split(s, a, "")
* another fix to avoid core dump with delete(ARGV)

12 years agokernel/x86_64: Remove bogus and unused file.
Sascha Wildner [Fri, 12 Aug 2011 02:43:38 +0000 (04:43 +0200)]
kernel/x86_64: Remove bogus and unused file.

12 years agokernel - Fix deadlock w/recent vm_map work
Matthew Dillon [Thu, 11 Aug 2011 21:38:09 +0000 (14:38 -0700)]
kernel - Fix deadlock w/recent vm_map work

* Fix a deadlock where a vm_page is being held PG_BUSY throgh a vm_map
  relocking operation.  This can deadlock against the attempt to busy
  a vm_page while holding a vm_map lock.

* The solution is a bit of a hack.  Currently allow the relock attempt to
  timeout and force a retry of the VM fault, which unlocks and relocks
  everything.  This is not the best solution but the problem occurs
  fairly rarely so for now it should be an acceptable workaround.

Reported-by: ftigeot, Studbolt
12 years agomfi(4): Merge LSI's latest driver changes (updates us to version 3.981).
Sascha Wildner [Thu, 11 Aug 2011 18:31:01 +0000 (20:31 +0200)]
mfi(4): Merge LSI's latest driver changes (updates us to version 3.981).

This adds support for a number of cards (according to LSI's README):

* LSI MegaRAID SAS 9240-4i
* LSI MegaRAID SAS 9240-8i
* LSI MegaRAID SAS 9260-4i
* LSI MegaRAID SAS 9260-8i
* LSI MegaRAID SAS 9260DE-8i
* LSI MegaRAID SAS 9260-16i
* LSI MegaRAID SAS 9261-8i
* LSI MegaRAID SAS 9280-4i4e
* LSI MegaRAID SAS 9280-8e
* LSI MegaRAID SAS 9280DE-8e
* LSI MegaRAID SAS 9280-16i4e
* LSI MegaRAID SAS 9280-24i4e

It was tested by Tomi Juvonen <tomi.juvonen@kenou.biz> on an
IBM ServeRAID M1015 controller using LSI's 9240-8i IR firmware.

12 years agocondvar.9: Mention that cv_broadcastpri()'s pri parameter is discarded.
Sascha Wildner [Thu, 11 Aug 2011 18:28:48 +0000 (20:28 +0200)]
condvar.9: Mention that cv_broadcastpri()'s pri parameter is discarded.

12 years ago<sys/condvar.h>: The cv_broadcastpri() macro needs to take a pri argument.
Sascha Wildner [Thu, 11 Aug 2011 18:28:25 +0000 (20:28 +0200)]
<sys/condvar.h>: The cv_broadcastpri() macro needs to take a pri argument.

12 years agoMark the arcmsr driver MPSAFE
François Tigeot [Thu, 11 Aug 2011 16:13:11 +0000 (18:13 +0200)]
Mark the arcmsr driver MPSAFE

12 years agoImplement a new vfs function, vfs_account()
François Tigeot [Sat, 6 Aug 2011 15:29:06 +0000 (17:29 +0200)]
Implement a new vfs function, vfs_account()

It will be used to implement user and group disk space accounting
with possible filesystem-specific integration

12 years agoacpi(4): Remove bogus line from the Makefile.
Sascha Wildner [Wed, 10 Aug 2011 19:16:49 +0000 (21:16 +0200)]
acpi(4): Remove bogus line from the Makefile.

12 years agomsk(4): Add support for 88E8059
Sepherosa Ziehau [Wed, 10 Aug 2011 14:33:34 +0000 (22:33 +0800)]
msk(4): Add support for 88E8059

Obtained-from: FreeBSD 207445

12 years agomsk(4): Disable non-ASF packet flushing on Yukon Extreme.
Sepherosa Ziehau [Wed, 10 Aug 2011 11:57:59 +0000 (19:57 +0800)]
msk(4): Disable non-ASF packet flushing on Yukon Extreme.

This prevents Yukon Extreme from generating pause frame storm.

Obtained-from: FreeBSD 207442

12 years agomsk(4): RX_GMF_{LP,UP}_THR are 16bits registers
Sepherosa Ziehau [Wed, 10 Aug 2011 11:49:06 +0000 (19:49 +0800)]
msk(4): RX_GMF_{LP,UP}_THR are 16bits registers

Obtained-from: FreeBSD 207409

12 years agomsk(4): PCI_OUR_REG_* and PCI_CFG_REG_* should be accessed indirectly
Sepherosa Ziehau [Wed, 10 Aug 2011 11:44:30 +0000 (19:44 +0800)]
msk(4): PCI_OUR_REG_* and PCI_CFG_REG_* should be accessed indirectly

Obtained-from: FreeBSD 205161 w/ mod

12 years agomsk(4): Enable flow-control only if link is full-duplex
Sepherosa Ziehau [Wed, 10 Aug 2011 11:30:51 +0000 (19:30 +0800)]
msk(4): Enable flow-control only if link is full-duplex

Obtained-from: FreeBSD 204540

12 years agomsk(4): Don't hardcod register offset to set PCIe max read request size.
Sepherosa Ziehau [Wed, 10 Aug 2011 09:48:31 +0000 (17:48 +0800)]
msk(4): Don't hardcod register offset to set PCIe max read request size.

This should fix 88E8072 support

Obtained-from: FreeBSD 204365

12 years agopci: Add function to get PCIe max read request size
Sepherosa Ziehau [Wed, 10 Aug 2011 09:47:05 +0000 (17:47 +0800)]
pci: Add function to get PCIe max read request size

12 years agomsk(4): Add support for 88E8057
Sepherosa Ziehau [Wed, 10 Aug 2011 09:11:20 +0000 (17:11 +0800)]
msk(4): Add support for 88E8057

Obtained-from: FreeBSD 199012 202827

12 years agomsk(4): Force link state detection, if link is not up.
Sepherosa Ziehau [Wed, 10 Aug 2011 09:02:14 +0000 (17:02 +0800)]
msk(4): Force link state detection, if link is not up.

It seems generation of link state change of e1000phy(4) is not reliable
on some Marvell PHYs, so we force a link state change if the link is
still not up.

Obtained-from: FreeBSD 199413

12 years agovkernel(7) - Describe diskless operation.
Antonio Huete Jimenez [Wed, 10 Aug 2011 09:03:48 +0000 (11:03 +0200)]
vkernel(7) - Describe diskless operation.

- Add a section describing needed tunables for diskless operation.
- Add an example on how to boot it.
- Add VKERNEL64 config file to FILES section.

12 years agokernel: Staticize naccess().
Sascha Wildner [Wed, 10 Aug 2011 08:31:17 +0000 (10:31 +0200)]
kernel: Staticize naccess().

12 years agomfi(4) & mfiutil(8): Sync with FreeBSD
Sascha Wildner [Mon, 1 Aug 2011 18:09:52 +0000 (20:09 +0200)]
mfi(4) & mfiutil(8): Sync with FreeBSD

12 years agovkernel(7) - Permit multiple -e options to pass environment variables
Antonio Huete Jimenez [Tue, 9 Aug 2011 19:34:35 +0000 (21:34 +0200)]
vkernel(7) - Permit multiple -e options to pass environment variables
             to the virtual kernel environment.

* kern_envp is a zero-separated string which ends with two zero chars.
  Now every -e option is added to kern_envp so that when the kenv_init
  parses the static envirorment it can process it properly.

12 years agokernel/x86_64: Convert asm accessing segment descriptors to use 16bit ops.
Sascha Wildner [Tue, 9 Aug 2011 08:38:17 +0000 (10:38 +0200)]
kernel/x86_64: Convert asm accessing segment descriptors to use 16bit ops.

This also fixes -O0 compilation of the x86_64 kernel.

Reported-by: alexh
Taken-from:  FreeBSD

12 years agokernel/i386: Use 16 bit types for functions that access segment descriptors.
Sascha Wildner [Tue, 9 Aug 2011 08:38:14 +0000 (10:38 +0200)]
kernel/i386: Use 16 bit types for functions that access segment descriptors.

This is a followup commit to e96f55de.

Taken-from: FreeBSD

12 years agomk - Add two missing files to the README file
Antonio Huete Jimenez [Sun, 7 Aug 2011 20:22:44 +0000 (22:22 +0200)]
mk - Add two missing files to the README file

12 years agoMove static & inline to the beginnings of declarations.
Sascha Wildner [Sun, 7 Aug 2011 02:41:30 +0000 (04:41 +0200)]
Move static & inline to the beginnings of declarations.

12 years agogetsockopt: Add SO_SNDSPACE
Sepherosa Ziehau [Fri, 5 Aug 2011 05:53:17 +0000 (13:53 +0800)]
getsockopt: Add SO_SNDSPACE

This SOL_SOCKET get-only option is used to get the approximate free space
of send buffer.

12 years agoe1000phy: Add support for more Marvell PHYs
Sepherosa Ziehau [Fri, 5 Aug 2011 02:04:58 +0000 (10:04 +0800)]
e1000phy: Add support for more Marvell PHYs

Obtained-from: FreeBSD @211046 +223688

12 years agomiidevs.h: regen
Sepherosa Ziehau [Fri, 5 Aug 2011 02:04:41 +0000 (10:04 +0800)]
miidevs.h: regen