]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
15 years agoEnable getaudit_addr(2) for sshd again. This will un-break the subject
Christian S.J. Peron [Sun, 30 Nov 2008 15:35:24 +0000 (15:35 +0000)]
Enable getaudit_addr(2) for sshd again.  This will un-break the subject
BSM audit tokens for IPv6.

15 years agoMake the linker.hints file have mode 644 instead of 600.
Luigi Rizzo [Sun, 30 Nov 2008 14:20:08 +0000 (14:20 +0000)]
Make the linker.hints file have mode 644 instead of 600.
There is nothing secret in the file, and the missing read
permission breaks diskless operation.

MFC after: 4 weeks

15 years agoClarify the reason to not use the volatile string as an argument to CTR
Konstantin Belousov [Sun, 30 Nov 2008 13:18:35 +0000 (13:18 +0000)]
Clarify the reason to not use the volatile string as an argument to CTR
macros. Note the logging of file and line.

Reviewed by: dchagin
MFC after: 3 days

15 years agoDon't call ether_ioctl() with locks held. Loop in xn_rxeof() until the backend
Doug Rabson [Sun, 30 Nov 2008 12:21:46 +0000 (12:21 +0000)]
Don't call ether_ioctl() with locks held. Loop in xn_rxeof() until the backend
stops adding stuff to the ring otherwise we miss RX interrupts which kills
performance.

15 years agoAdd more obsolete files.
Antoine Brodin [Sun, 30 Nov 2008 11:03:16 +0000 (11:03 +0000)]
Add more obsolete files.

15 years agoOn FreeBSD, printing the version is centralized, so no need to repeat
Warner Losh [Sun, 30 Nov 2008 08:40:04 +0000 (08:40 +0000)]
On FreeBSD, printing the version is centralized, so no need to repeat
it here.  I think that gonzo@ has also made this change to p4.

15 years agoDo not spin when trying to lock on a single-CPU system.
Jason Evans [Sun, 30 Nov 2008 05:55:24 +0000 (05:55 +0000)]
Do not spin when trying to lock on a single-CPU system.

Reported by: davidxu

15 years agoImprove a comment.
Joseph Koshy [Sun, 30 Nov 2008 05:10:14 +0000 (05:10 +0000)]
Improve a comment.

15 years agoAccording to "Intel 64 and IA-32 Architectures Software Developer's Manual
Alexander Motin [Sun, 30 Nov 2008 00:11:48 +0000 (00:11 +0000)]
According to "Intel 64 and IA-32 Architectures Software Developer's Manual
Volume 3B: System Programming Guide, Part 2", CPUs with family 0x6 and model
above or 0xE and CPUs with family 0xF and model above or 0x3 have invariant
TSC.

15 years agoAccording to "Intel 64 and IA-32 Architectures Software Developer's Manual
Alexander Motin [Sun, 30 Nov 2008 00:10:55 +0000 (00:10 +0000)]
According to "Intel 64 and IA-32 Architectures Software Developer's Manual
Volume 3B: System Programming Guide, Part 2", CPUs with family 0x6 and model
above or 0xE and CPUs with family 0xF and model above or 0x3 have invariant
TSC.

15 years agoUnlock the malloc() locks in the child process after fork(). This gives
Konstantin Belousov [Sat, 29 Nov 2008 21:46:28 +0000 (21:46 +0000)]
Unlock the malloc() locks in the child process after fork(). This gives
us working malloc in the fork child of the multithreaded process.

Although POSIX requires that only async-signal safe functions shall be
operable after fork in multithreaded process, not having malloc lower
the quality of our implementation.

Tested by: rink
Discussed with: kan, davidxu
Reviewed by: kan
MFC after: 1 month

15 years agoParse the error string returned by the kernel. The format is:
Marcel Moolenaar [Sat, 29 Nov 2008 21:20:07 +0000 (21:20 +0000)]
Parse the error string returned by the kernel. The format is:
<errno> [<parameter> <value>]
So, rather than printing the error:
gpart: 22 scheme 'gpt'
gpart(8) now prints:
gpart: scheme 'gpt': invalid argument

15 years agoFormat the output of -itv for real. In particular:
Tim Kientzle [Sat, 29 Nov 2008 20:22:02 +0000 (20:22 +0000)]
Format the output of -itv for real.  In particular:
 * Lookup uname/gname if not provided by the archive (I copied the
   uname/gname lookup cache from bsdtar)
 * Format device number instead of size for device nodes
 * Format date.

There's still a few improvements that I could copy from
bsdtar, especially the locale-aware safe_fprintf() code
and the locale-aware setup for day_first date formatting.
(And, of course, I need to think through a clean way to
push this stuff down into libarchive.)

Thanks to Peter Wemm for reminding me of this overlooked TODO item.

15 years agoThird argument to the vi_mmap_t function is vm_paddr_t *.
Konstantin Belousov [Sat, 29 Nov 2008 20:16:53 +0000 (20:16 +0000)]
Third argument to the vi_mmap_t function is vm_paddr_t *.

MFC after: 3 days

15 years agoWhen deciding which characters (of a filename, for instance)
Tim Kientzle [Sat, 29 Nov 2008 20:06:53 +0000 (20:06 +0000)]
When deciding which characters (of a filename, for instance)
are safe to print, try to take into account the current locale.
This iterates over output strings using mbtowc() to identify
multi-byte sequences.  If iswprint() claims the corresponding
wide character is printable, the original bytes are passed
through.  Otherwise, we expand characters into C-style
\-escape sequences.

Submitted by: Michihiro NAKAJIMA
MFC after: 30 days

15 years agoAdd standard MLINKs.
Christian Brueffer [Sat, 29 Nov 2008 19:01:44 +0000 (19:01 +0000)]
Add standard MLINKs.

15 years agoBring this a little closer to our manpage style.
Christian Brueffer [Sat, 29 Nov 2008 18:58:20 +0000 (18:58 +0000)]
Bring this a little closer to our manpage style.

15 years agoAdd several missing MLINKs.
Christian Brueffer [Sat, 29 Nov 2008 18:21:31 +0000 (18:21 +0000)]
Add several missing MLINKs.

15 years agoFix typo.
Christian Brueffer [Sat, 29 Nov 2008 18:09:50 +0000 (18:09 +0000)]
Fix typo.

15 years agoMake linux_sendmsg() and linux_recvmsg() work on linux32/amd64.
Konstantin Belousov [Sat, 29 Nov 2008 17:14:06 +0000 (17:14 +0000)]
Make linux_sendmsg() and linux_recvmsg() work on linux32/amd64.
Change types used in the linux' struct msghdr and struct cmsghdr
definitions to the properly-sized architecture-specific types.
Move ancillary data handler from linux_sendit() to linux_sendmsg().

Submitted by: dchagin

15 years agoUnbreak the no-networks (no INET/6) build that I broke with
Bjoern A. Zeeb [Sat, 29 Nov 2008 16:17:39 +0000 (16:17 +0000)]
Unbreak the no-networks (no INET/6) build that I broke with
the commit in r185435.

Pointyhat: no, but I could need a ski cap for the winter

15 years agoRegenerate
Konstantin Belousov [Sat, 29 Nov 2008 14:57:58 +0000 (14:57 +0000)]
Regenerate

15 years agoFix iovec32 for linux32/amd64.
Konstantin Belousov [Sat, 29 Nov 2008 14:55:24 +0000 (14:55 +0000)]
Fix iovec32 for linux32/amd64.

Add a custom version of copyiniov() to deal with the 32-bit iovec
pointers from userland (to be used later).

Adjust prototypes for linux_readv() and linux_writev() to use new
l_iovec32 definition and to match actual linux code. In particular,
use ulong for fd (why ?).

Submitted by: dchagin

15 years agoRegen after jail support was added in r185435.
Bjoern A. Zeeb [Sat, 29 Nov 2008 14:34:30 +0000 (14:34 +0000)]
Regen after jail support was added in r185435.

15 years agoMFp4:
Bjoern A. Zeeb [Sat, 29 Nov 2008 14:32:14 +0000 (14:32 +0000)]
MFp4:
  Bring in updated jail support from bz_jail branch.

This enhances the current jail implementation to permit multiple
addresses per jail. In addtion to IPv4, IPv6 is supported as well.
Due to updated checks it is even possible to have jails without
an IP address at all, which basically gives one a chroot with
restricted process view, no networking,..

SCTP support was updated and supports IPv6 in jails as well.

Cpuset support permits jails to be bound to specific processor
sets after creation.

Jails can have an unrestricted (no duplicate protection, etc.) name
in addition to the hostname. The jail name cannot be changed from
within a jail and is considered to be used for management purposes
or as audit-token in the future.

DDB 'show jails' command was added to aid debugging.

Proper compat support permits 32bit jail binaries to be used on 64bit
systems to manage jails. Also backward compatibility was preserved where
possible: for jail v1 syscalls, as well as with user space management
utilities.

Both jail as well as prison version were updated for the new features.
A gap was intentionally left as the intermediate versions had been
used by various patches floating around the last years.

Bump __FreeBSD_version for the afore mentioned and in kernel changes.

Special thanks to:
- Pawel Jakub Dawidek (pjd) for his multi-IPv4 patches
  and Olivier Houchard (cognet) for initial single-IPv6 patches.
- Jeff Roberson (jeff) and Randall Stewart (rrs) for their
  help, ideas and review on cpuset and SCTP support.
- Robert Watson (rwatson) for lots and lots of help, discussions,
  suggestions and review of most of the patch at various stages.
- John Baldwin (jhb) for his help.
- Simon L. Nielsen (simon) as early adopter testing changes
  on cluster machines as well as all the testers and people
  who provided feedback the last months on freebsd-jail and
  other channels.
- My employer, CK Software GmbH, for the support so I could work on this.

Reviewed by: (see above)
MFC after: 3 months (this is just so that I get the mail)
X-MFC Before:   7.2-RELEASE if possible

15 years agoCheck the return value of config_intrhook_establish().
Rui Paulo [Sat, 29 Nov 2008 14:26:22 +0000 (14:26 +0000)]
Check the return value of config_intrhook_establish().

Found with: Coverity Prevent(tm)
CID: 2115

15 years agoCheck for non-existing model DMI string.
Rui Paulo [Sat, 29 Nov 2008 14:20:36 +0000 (14:20 +0000)]
Check for non-existing model DMI string.

Submitted by: ganbold
Found with: Coverity Prevent(tm)
CID:          2434
MFC after: 1 week

15 years agoIn the nfsrv_fhtovp(), after the vfs_getvfs() function found the pointer
Konstantin Belousov [Sat, 29 Nov 2008 13:34:59 +0000 (13:34 +0000)]
In the nfsrv_fhtovp(), after the vfs_getvfs() function found the pointer
to the fs, but before a vnode on the fs is locked, unmount may free fs
structures, causing access to destroyed data and freed memory.

Introduce a vfs_busymp() function that looks up and busies found
fs while mountlist_mtx is held. Use it in nfsrv_fhtovp() and in the
implementation of the handle syscalls.

Two other uses of the vfs_getvfs() in the vfs_subr.c, namely in
sysctl_vfs_ctl and vfs_getnewfsid seems to be ok. In particular,
sysctl_vfs_ctl is protected by Giant by being a non-sleeping sysctl
handler, that prevents Giant-locked unmount code to interfere with it.

Noted by: tegge
Reviewed by: dfr
Tested by: pho
MFC after: 1 month

15 years agoImprove KASSERT() call a bit:
Pawel Jakub Dawidek [Sat, 29 Nov 2008 12:40:14 +0000 (12:40 +0000)]
Improve KASSERT() call a bit:
- Print flags in hex.
- Note that flags can be fine and panic can be due unexpected error condition.
- Remove redundant new line character.

Eventhough panic message excess 80 characters keep it in one line so it is
easier to grep.

15 years agoMFp4: Remove assertion that is no longer valid - we now use VOP_CLOSE() in
Pawel Jakub Dawidek [Sat, 29 Nov 2008 12:32:42 +0000 (12:32 +0000)]
MFp4: Remove assertion that is no longer valid - we now use VOP_CLOSE() in
more places (ie vdev_file.c).

15 years agomake 'make universe' not complain about
Bjoern A. Zeeb [Sat, 29 Nov 2008 08:45:20 +0000 (08:45 +0000)]
make 'make universe' not complain about
  In file included from /src/sys/modules/powermac_nvram/../../dev/powermac_nvram/powermac_nvram.c:38:
  @/dev/ofw/ofw_bus.h:36:24: error: ofw_bus_if.h: No such file or directory
I am not sure for how long this had not worked and if it was just the
latest vimage commit that had revealed this or if nobody had built
universe successfully in a while. Btw, the tinderbox did not complain
either so that is probably the reason noone had noticed.

15 years agoUnbreak mips build by taking first WAG at mb(), wmb() and rmb(). The
Warner Losh [Sat, 29 Nov 2008 05:16:14 +0000 (05:16 +0000)]
Unbreak mips build by taking first WAG at mb(), wmb() and rmb().  The
latter two are likely pessimal...

15 years agoNoticed the following error message:
Warner Losh [Sat, 29 Nov 2008 02:28:05 +0000 (02:28 +0000)]
Noticed the following error message:

mount_msdosfs: /dev/cf0s1: : Operation not supported by device

and thought I'd fix it to be:

mount_msdosfs: /dev/cf0s1: Operation not supported by device

Not sure why errmsg isn't getting filled in, or why this error is even
happening at all... (fsck_msdosfs is clean, and I can mount this same
CF elsewhere).

15 years agoRenamed the FRAMELEN macro to TRUEPHY_FRAMELEN as for powerpc
Bjoern A. Zeeb [Fri, 28 Nov 2008 23:44:13 +0000 (23:44 +0000)]
Renamed the FRAMELEN macro to TRUEPHY_FRAMELEN as for powerpc
it seems to be possible to collide with FRAMELEN from machine/frame.h.

Found by: zec

15 years agoAdd an essential .h file that skipped from the last commit (r185419).
Marko Zec [Fri, 28 Nov 2008 23:39:25 +0000 (23:39 +0000)]
Add an essential .h file that skipped from the last commit (r185419).

Pointy hat #1 on...

Pointed out by: bz

15 years agoUnhide declarations of network stack virtualization structs from
Marko Zec [Fri, 28 Nov 2008 23:30:51 +0000 (23:30 +0000)]
Unhide declarations of network stack virtualization structs from
underneath #ifdef VIMAGE blocks.

This change introduces some churn in #include ordering and nesting
throughout the network stack and drivers but is not expected to cause
any additional issues.

In the next step this will allow us to instantiate the virtualization
container structures and switch from using global variables to their
"containerized" counterparts.

Reviewed by: bz, julian
Approved by: julian (mentor)
Obtained from: //depot/projects/vimage-commit2/...
X-MFC after: never
Sponsored by: NLnet Foundation, The FreeBSD Foundation

15 years agoo FreeBSD 6.4-RELEASE added.
Maxim Konovalov [Fri, 28 Nov 2008 19:35:48 +0000 (19:35 +0000)]
o FreeBSD 6.4-RELEASE added.

15 years agoWith the permissions of phk@ change the license on kern_jail.c
Bjoern A. Zeeb [Fri, 28 Nov 2008 19:23:46 +0000 (19:23 +0000)]
With the permissions of phk@ change the license on kern_jail.c
to a 2 clause BSD license.

15 years agoAdd missing 'THE'. This was discussed with core@ in the larger
Warner Losh [Fri, 28 Nov 2008 19:21:10 +0000 (19:21 +0000)]
Add missing 'THE'.  This was discussed with core@ in the larger
context of making this text match the OSL text, but the changes that
OSL silently made to the license to approve it haven't been brought
back yet.  Still working on that issue.

We likely should start using the UTF-8 copyright symbol (What &copy;
expands to in HTML), but I'm not 100% confident in my ability to tell
Emacs to save it like that.  And I haven't gotten approval for that
change.

Approved by: core@

15 years agoUpdate for 185401, errors now go to stderr.
Stefan Farfeleder [Fri, 28 Nov 2008 18:59:04 +0000 (18:59 +0000)]
Update for 185401, errors now go to stderr.

15 years agoReport error messages of the builtins 'type' and 'command -V' to stderr instead
Stefan Farfeleder [Fri, 28 Nov 2008 18:55:42 +0000 (18:55 +0000)]
Report error messages of the builtins 'type' and 'command -V' to stderr instead
of stdout.

Noticed by: Zajcev Evgeny

15 years agoFix a printing problem when using the -L flag to netstat caused
George V. Neville-Neil [Fri, 28 Nov 2008 18:35:14 +0000 (18:35 +0000)]
Fix a printing problem when using the -L flag to netstat caused
by adding the -x flag earlier.

Submitted by: Anton Yuzhaninov
MFC after: 3 days

15 years agoFix matching of message queues by name.
Ed Schouten [Fri, 28 Nov 2008 14:53:18 +0000 (14:53 +0000)]
Fix matching of message queues by name.

The mqfs_search() routine uses strncmp() to match message queue objects
by name. This is because it can be called from environments where the
file name is not null terminated (the VFS for example).

Unfortunately it doesn't compare the lengths of the message queue names,
which means if a system has "Queue12345", the name "Queue" will also
match.

I noticed this when a student of mine handed in an exercise using
message queues with names "Queue2" and "Queue".

Reviewed by: rink

15 years agomissing V_
Dag-Erling Smørgrav [Fri, 28 Nov 2008 13:13:44 +0000 (13:13 +0000)]
missing V_

15 years agoAdd a reference to hwpmc_core.c most likely missed in r185363
Bjoern A. Zeeb [Fri, 28 Nov 2008 12:23:02 +0000 (12:23 +0000)]
Add a reference to hwpmc_core.c most likely missed in r185363
to try to unbreak universe (untested).

15 years agoRemove duplicate 2610SA entry.
Ed Maste [Thu, 27 Nov 2008 20:26:02 +0000 (20:26 +0000)]
Remove duplicate 2610SA entry.

Submitted by: jkim

15 years agoLet ARM loader(8) build with the man page.
Rafal Jaworowski [Thu, 27 Nov 2008 16:53:01 +0000 (16:53 +0000)]
Let ARM loader(8) build with the man page.

15 years agoProvide manual page for the mge(4) device driver.
Rafal Jaworowski [Thu, 27 Nov 2008 16:50:23 +0000 (16:50 +0000)]
Provide manual page for the mge(4) device driver.

15 years agoExplicitely note that destroy_dev() sleeps.
Konstantin Belousov [Thu, 27 Nov 2008 16:47:25 +0000 (16:47 +0000)]
Explicitely note that destroy_dev() sleeps.

Requested by: ed (some time ago), Jaakko Heinonen <jh saunalahti fi>

15 years agoReplace most INP_CHECK_SOCKAF() uses checking if it is an
Bjoern A. Zeeb [Thu, 27 Nov 2008 13:19:42 +0000 (13:19 +0000)]
Replace most INP_CHECK_SOCKAF() uses checking if it is an
IPv6 socket by comparing a constant inp vflag.
This is expected to help to reduce extra locking.

Suggested by: rwatson
Reviewed by: rwatson
MFC after: 6 weeks

15 years agoMerge in6_pcbfree() into in_pcbfree() which after the previous
Bjoern A. Zeeb [Thu, 27 Nov 2008 12:04:35 +0000 (12:04 +0000)]
Merge in6_pcbfree() into in_pcbfree() which after the previous
IPsec change in r185366 only differed in two additonal IPv6 lines.
Rather than splattering conditional code everywhere add the v6
check centrally at this single place.

Reviewed by: rwatson (as part of a larger changset)
MFC after: 6 weeks (*)
(*) possibly need to leave a stub wrapper in 7 to keep the symbol.

15 years agoAdd two rtld exported symbols, _rtld_atfork_pre and _rtld_atfork_post.
Konstantin Belousov [Thu, 27 Nov 2008 11:27:59 +0000 (11:27 +0000)]
Add two rtld exported symbols, _rtld_atfork_pre and _rtld_atfork_post.
Threading library calls _pre before the fork, allowing the rtld to
lock itself to ensure that other threads of the process are out of
dynamic linker. _post releases the locks.

This allows the rtld to have consistent state in the child. Although
child may legitimately call only async-safe functions, the call may
need plt relocation resolution, and this requires working rtld.

Reported and debugging help by: rink
Reviewed by: kan, davidxu
MFC after: 1 month (anyway, not before 7.1 is out)

15 years agoUnify ipsec[46]_delete_pcbpolicy in ipsec_delete_pcbpolicy.
Bjoern A. Zeeb [Thu, 27 Nov 2008 10:43:08 +0000 (10:43 +0000)]
Unify ipsec[46]_delete_pcbpolicy in ipsec_delete_pcbpolicy.
Ignoring different names because of macros (in6pcb, in6p_sp) and
inp vs. in6p variable name both functions were entirely identical.

Reviewed by: rwatson (as part of a larger changeset)
MFC after: 6 weeks (*)
(*) possibly need to leave a stub wrappers in 7 to keep the symbols.

15 years agoUpdate description of an event.
Joseph Koshy [Thu, 27 Nov 2008 09:21:37 +0000 (09:21 +0000)]
Update description of an event.

Submitted by: "Verplanke, Edwin" <edwin dot verplanke at intel dot com>

15 years ago- Add support for PMCs in Intel CPUs of Family 6, model 0xE (Core Solo
Joseph Koshy [Thu, 27 Nov 2008 09:00:47 +0000 (09:00 +0000)]
- Add support for PMCs in Intel CPUs of Family 6, model 0xE (Core Solo
  and Core Duo), models 0xF (Core2), model 0x17 (Core2Extreme) and
  model 0x1C (Atom).

  In these CPUs, the actual numbers, kinds and widths of PMCs present
  need to queried at run time.  Support for specific "architectural"
  events also needs to be queried at run time.

  Model 0xE CPUs support programmable PMCs, subsequent CPUs
  additionally support "fixed-function" counters.

- Use event names that are close to vendor documentation, taking in
  account that:
  - events with identical semantics on two or more CPUs in this family
    can have differing names in vendor documentation,
  - identical vendor event names may map to differing events across
    CPUs,
  - each type of CPU supports a different subset of measurable
    events.

  Fixed-function and programmable counters both use the same vendor
  names for events.  The use of a class name prefix ("iaf-" or
  "iap-" respectively) permits these to be distinguished.

- In libpmc, refactor pmc_name_of_event() into a public interface
  and an internal helper function, for use by log handling code.

- Minor code tweaks: staticize a global, freshen a few comments.

Tested by: gnn

15 years agoRevert r184509: don't encourage the use of sysexits.h with err() and
Robert Watson [Thu, 27 Nov 2008 08:42:58 +0000 (08:42 +0000)]
Revert r184509: don't encourage the use of sysexits.h with err() and
errx(),, as there seems to be a general preference against this
practice.

Suggested by: bde, des, jhb

15 years agoThe timezone byte is a signed value, treat it as such.
Tim Kientzle [Thu, 27 Nov 2008 06:21:04 +0000 (06:21 +0000)]
The timezone byte is a signed value, treat it as such.
Otherwise, time zone information for time zones west of
GMT gets discarded.

PR: kern/128934
Submitted by: J.R. Oldroyd
MFC after: 4 days

15 years agoAfter visiting a subdirectory, we use chdir("..") or
Tim Kientzle [Thu, 27 Nov 2008 05:49:52 +0000 (05:49 +0000)]
After visiting a subdirectory, we use chdir("..") or
fchdir() to return back to the parent.  If those fail,
we're just dead in the water.  Add a new error value
TREE_ERROR_FATAL to indicate that directory traversal
cannot continue.  Have write.c honor that by exiting
immediately.

MFC after: 30 days

15 years agoIf we're unable to chdir() to a directory that we know exists,
Tim Kientzle [Thu, 27 Nov 2008 05:14:36 +0000 (05:14 +0000)]
If we're unable to chdir() to a directory that we know exists,
that should result in a non-zero return value.

In particular, this should address the issue that David Wolfskill
ran into with a somewhat flaky NFS mount resulting in a damaged
archive even though tar returned success.

MFC after: 4 days

15 years agoRemove unused variable.
Ganbold Tsagaankhuu [Thu, 27 Nov 2008 04:40:37 +0000 (04:40 +0000)]
Remove unused variable.

Found with:     Coverity Prevent(tm)
CID: 3664

Approved by: kib

15 years agoDon't let ata_completed() dereference a null request->dma pointer to
Peter Wemm [Thu, 27 Nov 2008 03:37:46 +0000 (03:37 +0000)]
Don't let ata_completed() dereference a null request->dma pointer to
print dma status after a media error.

15 years agoSmall nit I just noticed, a pre-decrement should be post.
Jack F Vogel [Thu, 27 Nov 2008 02:19:44 +0000 (02:19 +0000)]
Small nit I just noticed, a pre-decrement should be post.

15 years agoThanks to the reminder from Ganbold, small fix in the RX failure
Jack F Vogel [Thu, 27 Nov 2008 02:18:43 +0000 (02:18 +0000)]
Thanks to the reminder from Ganbold, small fix in the RX failure
path for an infinite loop. Problem originally noticed in ixgbe
by Jeff Roberson and fixed there. Thanks to everyone involved.

15 years agoAdd basic WOL support for 82550/82551/82558 and 82559 based
Pyun YongHyeon [Thu, 27 Nov 2008 01:57:23 +0000 (01:57 +0000)]
Add basic WOL support for 82550/82551/82558 and 82559 based
controllers. ICH based controllers are treated as 82559. 82557,
earlier revision of 82558 and 82559ER have no WOL capability.
 o WOL support requires help of a firmware so add check whether
   hardware is capable of handling magic frames by reading EEPROM.
 o Enable accepting WOL frames only when hardware is about to
   suspend or shutdown. Previously fxp(4) used to allow receipt of
   magic frame under normal operation mode which could cause
   hardware hang if magic frame is received by hardware. Datasheet
   clearly states driver should not allow WOL frames under normal
   operation mode.
 o Disable WOL frame reception in device attach so have fxp(4)
   immunize against system hang which can be triggered by magic
   packets when the hardware is not in fully initialized state.
 o Don't reset all hardware configuration data in fxp_stop()
   otherwise important configuration data is lost and this would
   reset WOL configuration to default state which in turn cause
   hardware hang on receipt of magic frames. To fix the issue,
   preserve hardware configuration data by issuing a selective
   reset.
 o Explicitly disable interrupts after issuing selective reset as
   reset may unmask interrupts.

Tested by: Alexey Shuvaev < shuvaev <> physik DOT uni-wuerzburg DOT de >

15 years agoThis delta is primarily a fix for es2lan devices that
Jack F Vogel [Wed, 26 Nov 2008 23:57:23 +0000 (23:57 +0000)]
This delta is primarily a fix for es2lan devices that
will sometimes fail to initialize problem due to a lock
contention with management hardware. However, in order to
deliver that fix it was necessary to take a shared code
update as a whole, and this required scattered changes in
the core code to be compatible.

The em driver now has VLAN HW support added as the igb
driver had previously.

MFC after:  ASAP - in time for 7.1 RELEASE

15 years agoUpdated ixgbe driver - version 1.6.2
Jack F Vogel [Wed, 26 Nov 2008 23:41:18 +0000 (23:41 +0000)]
Updated ixgbe driver - version 1.6.2

-This version has header split, and as a result a number of
 aspects of the code have been improved/simplified.
- Interrupt handling refined for performance
- Many small bugs fixed along the way

MFC after: ASAP - in time for 7.1

15 years agoRemove an unused variable.
Jung-uk Kim [Wed, 26 Nov 2008 22:33:55 +0000 (22:33 +0000)]
Remove an unused variable.

Found with: Coverity Prevent(tm)
CID: 3677

15 years agoMerge more of currently non-functional (i.e. resolving to
Marko Zec [Wed, 26 Nov 2008 22:32:07 +0000 (22:32 +0000)]
Merge more of currently non-functional (i.e. resolving to
whitespace) macros from p4/vimage branch.

Do a better job at enclosing all instantiations of globals
scheduled for virtualization in #ifdef VIMAGE_GLOBALS blocks.

De-virtualize and mark as const saorder_state_alive and
saorder_state_any arrays from ipsec code, given that they are never
updated at runtime, so virtualizing them would be pointless.

Reviewed by:  bz, julian
Approved by:  julian (mentor)
Obtained from:        //depot/projects/vimage-commit2/...
X-MFC after:  never
Sponsored by: NLnet Foundation, The FreeBSD Foundation

15 years agoImport an initial revision of the pmcannotate tool.
Attilio Rao [Wed, 26 Nov 2008 21:44:57 +0000 (21:44 +0000)]
Import an initial revision of the pmcannotate tool.
For further explanations please check this e-mail on freebsd-arch@:
http://lists.freebsd.org/pipermail/freebsd-arch/2008-November/008698.html

Tested by: gnn
Sponsored by: Nokia

15 years agoFix a typo in previous commit: must call "putn" to print a crlf,
Luigi Rizzo [Wed, 26 Nov 2008 21:38:43 +0000 (21:38 +0000)]
Fix a typo in previous commit: must call "putn" to print a crlf,
instead of "puts" which prints whatever is at %si, followed by a CRLF.

It was not noticed during tests because at that point %si points
to a partition entry whose first byte is 0x80, which is both a
terminator for the string and a non printable character.

Submitted by: Christoph Mallon

15 years agoCreate a fake geometry (16 heads, 64 sectors) when dealing with
Luigi Rizzo [Wed, 26 Nov 2008 21:05:03 +0000 (21:05 +0000)]
Create a fake geometry (16 heads, 64 sectors) when dealing with
a plain file and a geometry is not explicitly supplied through
command line or disktab entry.

This way you can a FAT image on a file as simply as this:

newfs_msdos ./some/file

(right now you need a much longer command

newfs_msdos -h 32 -u 64 -S 512 -s $total_blocks -o 0 ./some/file

Will be merged after 7.1 and 6.4 are released.
See also the related PR which suggests a similar change.

PR: bin/121182
MFC after: 4 weeks

15 years agoRemove in6_pcbdetach() as it is exactly the same function
Bjoern A. Zeeb [Wed, 26 Nov 2008 20:52:26 +0000 (20:52 +0000)]
Remove in6_pcbdetach() as it is exactly the same function
as in_pcbdetach() and we don't need the code twice.

Reviewed by: rwatson
MFC after: 6 weeks (*)
(*) possibly need to leave a stub wrapper in 7 to keep the symbol.

15 years agoUse newly introduced cpu_vendor_id to make invariant TSC detection more
Jung-uk Kim [Wed, 26 Nov 2008 19:29:33 +0000 (19:29 +0000)]
Use newly introduced cpu_vendor_id to make invariant TSC detection more
clearer and merge r185295 to amd64.

15 years agoIntroduce cpu_vendor_id and replace a lot of strcmp(cpu_vendor, "...").
Jung-uk Kim [Wed, 26 Nov 2008 19:25:13 +0000 (19:25 +0000)]
Introduce cpu_vendor_id and replace a lot of strcmp(cpu_vendor, "...").

Reviewed by: jhb, peter (early amd64 version)

15 years agoPass the pointer to the selected partition in %si to the next stage
Luigi Rizzo [Wed, 26 Nov 2008 18:01:21 +0000 (18:01 +0000)]
Pass the pointer to the selected partition in %si to the next stage
boot code. The bug was introduced in rev.1.13, and went unnoticed
because FreeBSD's boot1 does not use it, but other systems might.

(I have been struggling for almost a full day trying to figure out
why a syslinux'ed partition would not boot when started with the
FreeBSD /boot/boot0, only to realize that the bug was ours!)

The space for the two extra bytes (push %si and pop %si) is reclaimed
by removing an extra CRLF that is printed before booting.

The bug is not a major one but if there is time it might be a good
thing to merge it into the upcoming releases.

15 years ago- Add the device ID for the HP HS2300 MC8775 clone (michael)
Nick Hibma [Wed, 26 Nov 2008 17:16:54 +0000 (17:16 +0000)]
- Add the device ID for the HP HS2300 MC8775 clone (michael)
- Bugfix: Don't excede static number of ports allowed when iterating
  over endpoints within an interface.
- u3g_speeds contains speeds in baud, not bytes per second, so divide
  the buffer size by 10.

15 years agoDocument that all the other commands are either
Roman Divacky [Wed, 26 Nov 2008 16:38:43 +0000 (16:38 +0000)]
Document that all the other commands are either
identical to the FreeBSD ones or rejected by
kern_msgctl().

Found with: Coverity Prevent(tm)
CID: 3456
Approved by: kib (mentor)

15 years agoRemove unused variable.
Ganbold Tsagaankhuu [Wed, 26 Nov 2008 13:44:11 +0000 (13:44 +0000)]
Remove unused variable.

Found with:     Coverity Prevent(tm)
CID: 3695,3696

Approved by: harti

15 years agoIn null_lookup(), do the needed cleanup instead of panicing saying
Konstantin Belousov [Wed, 26 Nov 2008 13:41:15 +0000 (13:41 +0000)]
In null_lookup(), do the needed cleanup instead of panicing saying
the cleanup is needed.

Reported by: kris, pho
Tested by: pho
MFC after: 2 weeks

15 years ago- Support IEEE_P1282 and IEEE_1282 tags in the rock ridge extensions record.
Ulf Lilleengen [Wed, 26 Nov 2008 13:09:45 +0000 (13:09 +0000)]
- Support IEEE_P1282 and IEEE_1282 tags in the rock ridge extensions record.

PR: kern/128942
Submitted by: "J.R. Oldroyd" <fbsd - at - opal.com>

15 years agoUnify the v4 and v6 versions of pcbdetach and pcbfree as good
Bjoern A. Zeeb [Wed, 26 Nov 2008 12:54:31 +0000 (12:54 +0000)]
Unify the v4 and v6 versions of pcbdetach and pcbfree as good
as possible so that they are easily diffable.

No functional changes.

Reviewed by: rwatson
MFC after: 6 weeks

15 years agoPlug a credential leak in case the inpcb is freed by
Bjoern A. Zeeb [Wed, 26 Nov 2008 12:24:18 +0000 (12:24 +0000)]
Plug a credential leak in case the inpcb is freed by
in6_pcbfree() instead of in_pcbfree(); missed in r183606.

Reviewed by: rwatson
MFC after: 3 days (instantly for 7.1-RC?)

15 years agoAdd Pentium D cores into the list that can't handle 12.5% and 25%
Maxim Sobolev [Wed, 26 Nov 2008 09:46:35 +0000 (09:46 +0000)]
Add Pentium D cores into the list that can't handle 12.5% and 25%
throttle. My SMP kernel hangs when one of those is selected by
powerd. Errata AA21 here:

ftp://download.intel.com/design/PentiumXE/specupdt/31030717.pdf

MFC after: 2 weeks

15 years agoImplement TSO for 82550/82551 controllers.
Pyun YongHyeon [Wed, 26 Nov 2008 07:36:17 +0000 (07:36 +0000)]
Implement TSO for 82550/82551 controllers.
 o Configure controller to use dynamic TBD as TSO requires that
   operation mode.
 o Add a dummy TBD to tx_cb_u as TSO can access one more TBD in TSO
   operation.
 o Increase a DMA segment size to 4096 to hold a full IP segment
   with link layer header.
 o Unlike other TSO capable controllers, 82550/82551 does not
   modify the first IP packet in TSO operation so driver should
   create an IP packet with proper header. Subsequent IP packets
   are generated from the header information in the first IP packet
   header. Likewise pseudo checksum also should be computed by
   driver for the first packet.
 o TSO requires one more TBD to hold total TCP payload. To make
   code simple for TSO/non-TSO case, increase the index of the
   first available TBD array.
 o Remove KASSERT that checks the size of a DMA segment should be
   less than or equal to MCLBYTES as it's no longer valid in TSO.
 o Tx threshold and number of TBDs field is used to store MSS in
   TSO. So don't set the Tx threshold in TSO case.

15 years agoImplement Rx checksum offload for 82559 or later controllers.
Pyun YongHyeon [Wed, 26 Nov 2008 06:36:53 +0000 (06:36 +0000)]
Implement Rx checksum offload for 82559 or later controllers.
82559 or later controllers added simple checksum calculation logic
in RU. For backward compatibility the computed checksum is appended
at the end of the data posted to Rx buffer. This type of simple
checksum calculation support had been used on several vendors such
as Sun HME/GEM, SysKonnect GENESIS and Marvell Yukon controllers.
Because this type of checksum offload support requires parsing of
received frame and pseudo checksum calculation with software
routine it still consumes more CPU cycles than that of full-fledged
checksum offload controller. But it's still better than software
checksum calculation.

15 years ago o Introduce a new function, fxp_new_rfabuf which allocates a new
Pyun YongHyeon [Wed, 26 Nov 2008 05:51:49 +0000 (05:51 +0000)]
 o Introduce a new function, fxp_new_rfabuf which allocates a new
   Rx buffer and loads DMA map. Also add a function
   fxp_discard_rfabuf that handles reusing Rx buffer/DMA map. With
   this change fxp_add_rfabuf just handles appending a new RFA to
   existing chain.
 o Initialize mbuf length in fxp_new_rfabuf.
 o Don't reset rnr and have fxp(4) handle received frames even if
   it couldn't allocate new Rx buffer. This will make fxp(4) reload
   updated RFA under rnr case. The rnr would still be reset to 0 if
   polling is active and fxp(4) processed number of allowed Rx
   events.
 o Update if_iqdrops if fxp(4) couldn't allocate Rx buffer.

Previously fxp(4) used to try to reuse Rx buffer when new buffer
allocation is failed. But fxp(4) didn't take into account loaded
DMA map such that the same DMA map was loaded again without
unloading the map. There is no reason to unload the loaded map and
reload the same map again, just reusing the map is enough. I
believe the spare DMA map in softc was introduced to implement this
behaviour. Also fxp(4) used to stop Rx processing if once Rx buffer
allocation or DMA map load fails which in turn resulted in losing
incoming frames under heavy network load. With this change fxp(4)
should survive from resource shortage condition.

15 years agoAllow dumpon to a partition of type FS_UNUSED as well.
Marcel Moolenaar [Wed, 26 Nov 2008 05:18:27 +0000 (05:18 +0000)]
Allow dumpon to a partition of type FS_UNUSED as well.

15 years agoFix buglets.
Joseph Koshy [Wed, 26 Nov 2008 03:48:20 +0000 (03:48 +0000)]
Fix buglets.

15 years agoAdd the -m option to pmcstat.
Attilio Rao [Tue, 25 Nov 2008 23:24:29 +0000 (23:24 +0000)]
Add the -m option to pmcstat.
This option prints the list of sampled PCs along with the function name,
the start and end addresses of this where their live within.

Reviewed by: jkoshy
Tested by: gnn
Sponsored by: Nokia

15 years agoMFp4: We don't support TX_CREATE_ACL_ATTR nor TX_MKDIR_ACL_ATTR; code found
Edward Tomasz Napierala [Tue, 25 Nov 2008 23:05:46 +0000 (23:05 +0000)]
MFp4: We don't support TX_CREATE_ACL_ATTR nor TX_MKDIR_ACL_ATTR; code found
in zfs_replay.c will panic if it encounters transactions of this type.
Make sure we don't put these into the ZIL.

Approved by: rwatson (mentor), pjd

15 years agoStraighten out those pesky SDP records for the Bluetooth
Maksim Yevmenkin [Tue, 25 Nov 2008 21:54:42 +0000 (21:54 +0000)]
Straighten out those pesky SDP records for the Bluetooth
Service Discovery Application Profile.

Discussed with: Iain Hibbert of NetBSD plunky at rya dash online dot net
MFC after: 3 weeks

15 years agoFix locking (file descriptor table and Giant around VFS).
Pawel Jakub Dawidek [Tue, 25 Nov 2008 21:14:00 +0000 (21:14 +0000)]
Fix locking (file descriptor table and Giant around VFS).

Most submitted by: kib
Reviewed by: kib

15 years ago- Fix a potential NULL pointer reference. Note that this should not happen in
Ulf Lilleengen [Tue, 25 Nov 2008 20:28:33 +0000 (20:28 +0000)]
- Fix a potential NULL pointer reference. Note that this should not happen in
  practice, but it is a good programming practice and allows the kernel to not
  depend on userland correctness.
- While there, make sizeof usage match the rest of the code.

Found with: Coverity Prevent(tm)
CID: 660, 662

15 years agoRemove unused variable.
Ganbold Tsagaankhuu [Tue, 25 Nov 2008 19:25:54 +0000 (19:25 +0000)]
Remove unused variable.

Found with:     Coverity Prevent(tm)
CID: 3669,3671

Approved by: jb

15 years ago- Fix a potential NULL pointer reference. Note that this cannot happen in
Ulf Lilleengen [Tue, 25 Nov 2008 19:13:58 +0000 (19:13 +0000)]
- Fix a potential NULL pointer reference. Note that this cannot happen in
  practice, but it is a good programming practice nontheless and it allows the
  kernel to not depend on userland correctness.

Found with:   Coverity Prevent(tm)
CID:          655-659, 664-667

15 years agoRemove unused variable.
Ganbold Tsagaankhuu [Tue, 25 Nov 2008 19:06:20 +0000 (19:06 +0000)]
Remove unused variable.

Found with:     Coverity Prevent(tm)
CID: 3678

Approved by: njl

15 years agoConvert BWCT and HL200 over to new board mechanism as well. The
Warner Losh [Tue, 25 Nov 2008 19:05:46 +0000 (19:05 +0000)]
Convert BWCT and HL200 over to new board mechanism as well.  The
TSC4370 config file wasn't committed to this tree, so I don't know if
my changes will work on it or not.

15 years agoRemove unused variable.
Ganbold Tsagaankhuu [Tue, 25 Nov 2008 18:48:13 +0000 (18:48 +0000)]
Remove unused variable.

Found with:     Coverity Prevent(tm)
CID: 3685

Approved by: scottl

15 years agoStart to make it easier to add AT91RM9200 based boards:
Warner Losh [Tue, 25 Nov 2008 18:40:40 +0000 (18:40 +0000)]
Start to make it easier to add AT91RM9200 based boards:
o Copy kb920x_machdep.c to at91_machdep.c
o Move board_init to new board_kb920x.c
o rename ramsize to at91_ramsize and make it accessible to board_* files.
o Delete files.kb920x.  We can do this selection with the new boards.
o Add a stub for the tsc4370 board init, which will be added in
  a future commit.
o Add new 'devices' at91_board_kb920x and at91_board_tsc4370.  More are
  needed and will be added in future commits.

Reviewed by: stass, cognet

15 years agoAdd tools-level test for POSIX.1e functionality.
Edward Tomasz Napierala [Tue, 25 Nov 2008 18:29:33 +0000 (18:29 +0000)]
Add tools-level test for POSIX.1e functionality.

Approved by: rwatson (mentor)