Commit Graph

14062 Commits

Author SHA1 Message Date
Kevin Lo
d4d6dcc5bb Add support for the MCS7832
Obtained from:	OpenBSD
2012-02-28 15:45:42 +00:00
Kevin Lo
9aae28359d Fix typos 2012-02-28 15:07:05 +00:00
Gavin Atkinson
1748d1e513 Correct capitalization of "Hz" in user-visible text (manpages, printf(),
etc).

MFC after:	3 days
2012-02-28 13:19:34 +00:00
Martin Matuska
638f378253 mdoc(7) stype - start new sentences on new line
MFC after:	1 week
2012-02-28 07:35:07 +00:00
Glen Barber
27e50fccd8 Fix a few rendering nits in rc.conf(5) with regards to mentioning
jail_parallel_enable.
2012-02-28 03:11:02 +00:00
Luigi Rizzo
64ae02c365 A bunch of netmap fixes:
USERSPACE:
1. add support for devices with different number of rx and tx queues;

2. add better support for zero-copy operation, adding an extra field
   to the netmap ring to indicate how many buffers we have already processed
   but not yet released (with help from Eddie Kohler);

3. The two changes above unfortunately require an API change, so while
   at it add a version field and some spares to the ioctl() argument
   to help detect mismatches.

4. update the manual page for the two changes above;

5. update sample applications in tools/tools/netmap

KERNEL:

1. simplify the internal structures moving the global wait queues
   to the 'struct netmap_adapter';

2. simplify the functions that map kring<->nic ring indexes

3. normalize device-specific code, helps mainteinance;

4. start exploring the impact of micro-optimizations (prefetch etc.)
   in the ixgbe driver.
   Use 'legacy' descriptors on the tx ring and prefetch slots gives
   about 20% speedup at 900 MHz. Another 7-10% would come from removing
   the explict calls to bus_dmamap* in the core (they are effectively
   NOPs in this case, but it takes expensive load of the per-buffer
   dma maps to figure out that they are all NULL.

   Rx performance not investigated.

I am postponing the MFC so i can import a few more improvements
before merging.
2012-02-27 19:05:01 +00:00
Glen Barber
9d496f5ab6 Whitespace cleanup:
o Wrap sentences on to new lines
 o Cleanup trailing whitespace

Found with:	textproc/igor
MFC after:	1 week
X-MFC-With:	r232157
2012-02-25 15:21:43 +00:00
Glen Barber
3102cfe2e2 Fix various typos in manual pages.
Submitted by:	amdmi3
PR:		165431
MFC after:	1 week
2012-02-25 14:31:25 +00:00
Jung-uk Kim
695ff33f44 Fix mdoc style nits. Start new sentences on new lines.
Reported by:	brueffer
2012-02-24 17:53:24 +00:00
Jung-uk Kim
074d80ac13 - Add support for Family 12h, 14h and 15h processors.
- Remove all attempts to guess physical temperature using DiodeOffset.
There are too many reports that it varies wildly depending on motherboard.
Instead, if it is known to scale well and its offset is known from other
temperature sensors on board, the user may set "dev.amdtemp.0.sensor_offset"
tunable to compensate the difference.  Document the caveats in amdtemp(4).
- Add a quirk for Socket AM2 Revision G processors.  These processors are
known to have a different offset according to Linux k8temp driver.
- Warn about Family 10h Erratum 319.  These processors have broken sensors.
- Report temperature in more logical orders under dev.amdtemp node.  For
example, "dev.amdtemp.0.sensor0.core0" is now "dev.amdtemp.0.core0.sensor0".
- Replace K8, K10 and K11 with official processor names in amdtemp(4).
2012-02-24 00:02:46 +00:00
Andrew Thompson
f2ff5b0672 Break the last part to its own sentence rather than a run-on.
Suggested by:	dougb
2012-02-23 23:37:29 +00:00
Andrew Thompson
3122b9120c Add a sysctl/tunable default value for the use_flowid sysctl in r232008. 2012-02-23 21:56:53 +00:00
Christian Brueffer
0a50333302 Rename DESCRIPTION section to HARDWARE, so this manpage can be used for
automatic hardware notes generation.

MFC after:	3 days
2012-02-23 18:48:02 +00:00
Christian Brueffer
6bdc1841a9 Catch up with r195837 (2.5 years ago) which renamed net_add_domain() to domain_add().
PR:		165424
Submitted by:	Lachlan Kang
MFC after:	1 week
2012-02-23 17:47:19 +00:00
Glen Barber
19befced93 Xref the following in wlan(4):
- bwn(4)
- mwl(4)
- run(4)

MFC after:	3 days
2012-02-22 22:40:20 +00:00
Andrew Thompson
6f9c725237 Document the net.link.lagg.X.use_flowid sysctl from r232008. 2012-02-22 22:29:23 +00:00
Andrew Thompson
95bfa2fc22 Make it clear that fec is just an alias 2012-02-22 22:09:17 +00:00
Maxim Konovalov
b3191640f9 DragonFly 3.0.1 added. 2012-02-22 17:52:53 +00:00
Christian Brueffer
56799b608d More improvements, the biggest one using list environments for enumerations. 2012-02-20 13:22:00 +00:00
Sergey Kandaurov
d75a2818b7 - Trim empty lines resulting in bad rendering, EOL whitespaces
- Convert to our standard SYNOPSIS language
- Consistently use "The .Nm driver"
- Rewrite .nf .fi block with mdoc
- Add pci dependency to SYNOPSIS
- Start .Bl list with new paragraph

Approved by:	luigi
2012-02-19 18:16:42 +00:00
Luigi Rizzo
f6a92b8803 add manpage for the "oce" driver
Submitted by:	Naresh Raju Gottumukkala (Emulex)
MFC after:	3 days
2012-02-17 14:02:44 +00:00
Bjoern A. Zeeb
9dba179d5e IFC @231845
Sponsored by:	Cisco Systems, Inc.
2012-02-17 00:27:48 +00:00
Warner Losh
e517a11c27 Fix comma splice, can't ambiguity and quoting.
Submitted by:	bde@
MFC after:	2 weeks
2012-02-16 21:04:47 +00:00
Warner Losh
c693bd2ff6 Wordsmith the can't find kernel error message, and suggest which
variable to set to override.
2012-02-15 21:20:58 +00:00
Jim Harris
f23b9b9193 Update HISTORY for isci.4 man page.
Sponsored by: Intel
Approved by: scottl
2012-02-14 17:11:34 +00:00
Doug Barton
20ceedfb69 Fix various issues with the NFS and RPC related scripts:
1. Add new functionality to the force_depend method to incorporate the
   tests for whether the service is enabled and/or already running.
2. Add a new option to bypass checking only that the service is enabled
   at boot time, and always check if it is running.
3. Use this new functionality to greatly simplify the rc.d scripts that
   use force_depend.
4. Add a force_depend for statd in lockd
5. Remove the check that either nfs_server or nfs_client is _enable'd
   from statd and lockd. This was always overkill, and prevented using
   the {one|force}start options, as well as stop'ing on the command line.
6. The yp* scripts had some of their arguments in various weird orders.
   Bring them into line with the model.
7. If mountd fails to create /var/db/mountdtab, err out.

Ideas, suggestions, and/or review from delphij and jilles.
Pointy hats are completely my responsibility however.
2012-02-14 10:51:24 +00:00
Christian Brueffer
7aae843be2 Minor cleanup and added missing svn keywords. 2012-02-13 23:02:51 +00:00
Ed Schouten
6b99842ada Globally replace u_int*_t from (non-contributed) man pages.
The reasoning behind this, is that if we are consistent in our
documentation about the uint*_t stuff, people will be less tempted to
write new code that uses the non-standard types.

I am not going to bump the man page dates, as these changes can be
considered style nits. The meaning of the man pages is unaffected.

MFC after:	1 month
2012-02-12 18:29:56 +00:00
Ed Schouten
b5d1ccb470 Remove outdated piece of information.
devtoname() always returns a pathname to the device. It will never
return a #major/minor string.

MFC after:	2 weeks
2012-02-10 11:20:13 +00:00
Glen Barber
d63559341c Fix date from r231111.
Pointy-hat to:	gjb (myself, approver of r231111)
2012-02-10 03:34:32 +00:00
Matthew Seaman
147fa51f5f Adding myself as a new committer
Approved by:	shaun (mentor)
2012-02-09 14:15:20 +00:00
Gleb Smirnoff
14d060a6b8 Add support for RICOH R5CE823 card reader, that can be found in
some Lenovo laptops.

The conroller needs a quirk to lower its frequency, and after
that it operates normally.
2012-02-09 10:20:41 +00:00
Martin Matuska
17d84d611f Introduce the "ruleset=number" option for devfs(5) mounts.
Add support for updating the devfs mount (currently only changing the
ruleset number is supported).
Check mnt_optnew with vfs_filteropt(9).

This new option sets the specified ruleset number as the active ruleset
of the new devfs mount and applies all its rules at mount time. If the
specified ruleset doesn't exist, a new empty ruleset is created.

MFC after:	1 month
2012-02-09 10:09:12 +00:00
Glen Barber
814b16ba92 Fix some Xr references:
- ada(4): ad(4) - removed, ada(4) would be a self-referencing entry
- cd(4): ad(4) -> ada(4)
- da(4): ad(4) -> ada(4)
- DEVICE_PROBE(9):  ugen(5) -> ugen(4)
- ed(4): dhclinet(8) -> dhclient(8) (typo)
- lmc(4): Netgraph(4) -> netgraph(4)
- security(7): rc.conf(8) -> rc.conf(5)
- sfxge(4): cpuset(8) -> cpuset(1)
- sbp(4): sysctl(1) -> sysctl(8)
- portindex(5): build(1) -> build(7)
- u3g(4): usbconfig(5) -> usbconfig(8)
- usb_quirk(4): usbconfig(5) -> usbconfig(8)

Found with:	textproc/igor
MFC after:	3 days
2012-02-09 04:37:30 +00:00
Doug Barton
95208e20d0 As it stands right now, the default devfs rulesets are only loaded as a
side effect of something else using them. If they haven't been loaded
already but you want to use them, say for configuring a jail, you're out
of luck.

So add a knob to always load the default rulesets. While I'm here document
the other devfs_ knobs in rc.conf.5.
2012-02-08 08:52:40 +00:00
Kevin Lo
799a00c0f5 Add offsetof.3 man page
Obtained from:	OpenBSD
2012-02-08 08:42:17 +00:00
Glen Barber
2f1602a7d1 Add an option to 404.status-zfs (enabled by default) to list all
zfs pools on the system.

While here, document daily_status_zfs_enable in periodic.conf(5).

Discussed on:	-fs [1]
Reviewed by:	netchild [1]
Approved by:	jhb
MFC after:	1 week

[1] - http://lists.freebsd.org/pipermail/freebsd-fs/2011-June/011869.html
2012-02-08 00:08:21 +00:00
Kenneth D. Merry
8a632743d0 Update the mps(4) man page for the changes in the new LSI-supported driver.
This should have been included in change 230592.

The supported hardware section still needs some updating to reflect
the current reality.

MFC after:	3 days
2012-02-07 23:43:29 +00:00
Ulrich Spörlein
2fd40de72a Record my ports mentor relationship.
Approved by:	beat (mentor)
2012-02-07 11:53:08 +00:00
Eitan Adler
eed1dcab79 ports(7) currently makes no mention of LOCALBASE: fix that
PR:		docs/159551
Submitted by:	Matthew Seaman <m.seaman@infracaninophile.co.uk>
Approved by:	gjb
MFC after:	3 days
2012-02-07 04:00:57 +00:00
Dimitry Andric
6bb1cadd56 Add a WITH_CLANG_EXTRAS option for src.conf(5), disabled by default,
that builds the following additional llvm/clang tools:

- bugpoint
- llc
- lli
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-diff
- llvm-dis
- llvm-extract
- llvm-ld
- llvm-link
- llvm-mc
- llvm-nm
- llvm-objdump
- llvm-prof
- llvm-ranlib
- llvm-rtdyld
- llvm-stub
- macho-dump
- opt

These tools are mainly useful for people that want to manipulate llvm
bitcode (.bc) and llvm assembly language (.ll) files, or want to tinker
with llvm and clang themselves.

MFC after:	2 weeks
2012-02-05 23:56:22 +00:00
Dimitry Andric
652238b605 Regenerate src.conf.5, after r230972 added the WITHOUT_SOURCELESS build
options.

MFC after:	2 weeks
2012-02-05 23:02:13 +00:00
Gleb Smirnoff
9077f38738 Add new socket options: TCP_KEEPINIT, TCP_KEEPIDLE, TCP_KEEPINTVL and
TCP_KEEPCNT, that allow to control initial timeout, idle time, idle
re-send interval and idle send count on a per-socket basis.

Reviewed by:	andre, bz, lstewart
2012-02-05 16:53:02 +00:00
Joel Dahl
b6bc9e3bb6 Add /usr/src/cddl/ to the hierarchy. 2012-02-04 08:03:01 +00:00
Robert Millan
4a47892c81 Add MK_SOURCELESS build option. Setting MK_SOURCELESS to "no" will disable
kernel modules that include binary-only code.

More fine-grained control is provided via MK_SOURCELESS_HOST (for native code
that runs on host CPU) and MK_SOURCELESS_UCODE (for microcode).

Reviewed by:	julian, delphij, freebsd-arch
Approved by:	kib (mentor)
MFC after:	2 weeks
2012-02-04 00:54:43 +00:00
Bjoern A. Zeeb
dc5177989b Document the fact that faith(4) is only available on the default FIB.
Sponsored by:	Cisco Systems, Inc.
2012-02-03 15:33:55 +00:00
Davide Italiano
67b6f45325 Add myself to the relevant docs.
Approved by: alc, gnn (mentors)
2012-02-01 19:46:12 +00:00
Jim Harris
f11c7f6305 Add isci(4) driver for amd64 and i386 targets.
The isci driver is for the integrated SAS controller in the Intel C600
(Patsburg) chipset.  Source files in sys/dev/isci directory are
FreeBSD-specific, and sys/dev/isci/scil subdirectory contains
an OS-agnostic library (SCIL) published by Intel to control the SAS
controller.  This library is used primarily as-is in this driver, with
some post-processing to better integrate into the kernel build
environment.

isci.4 and a README in the sys/dev/isci directory contain a few
additional details.

This driver is only built for amd64 and i386 targets.

Sponsored by: Intel
Reviewed by: scottl
Approved by: scottl
2012-01-31 19:38:18 +00:00
Christian Brueffer
35f8bc5f64 Manpages for the buf_ring and drbr interfaces.
Submitted by:	kmacy (aeons ago)
MFC after:	1 week
2012-01-30 21:02:25 +00:00
Kip Macy
c3bd46fe5b update .Dd 2012-01-28 23:30:39 +00:00
Sean Farley
f090e49e88 msdos was renamed to msdosfs in 2001 by r77577.
MFC after:	5 days
2012-01-28 21:21:05 +00:00
Kip Macy
e013216e41 alphabetically sort optional flags and add documentation for VM_ALLOC_NODUMP 2012-01-28 17:27:58 +00:00
Kip Macy
986e5ec7af document M_NODUMP flag 2012-01-28 17:21:12 +00:00
Gleb Smirnoff
938f0fd50f Do not mention SIOCSIFADDR. 2012-01-27 08:46:32 +00:00
Gleb Smirnoff
a1ae564ebf - Rewrite paragraphs about preemption.
- Avoid word combination "carp interface".

Prodded by:	az
2012-01-26 19:11:08 +00:00
Kenneth D. Merry
3e85ab1008 Remove the blank line between the license and .Dd
Prompted by:	brueffer
MFC after:	1 week
2012-01-26 18:18:47 +00:00
Kenneth D. Merry
ab6fe159c8 Start sentences on a new line, and fix a few other nits.
Prompted by:	gjb
MFC after:	1 week
2012-01-26 17:28:33 +00:00
Sean Bruno
e17ef00528 Update PCI IDs for ciss controllers that are supported by this driver.
Submitted by:	scott.benesh@hp.com
Obtained from:	Yahoo! Inc and HP
MFC after:	1 week
2012-01-26 17:04:17 +00:00
Kenneth D. Merry
7e949c467c Xen netback driver rewrite.
share/man/man4/Makefile,
share/man/man4/xnb.4,
sys/dev/xen/netback/netback.c,
sys/dev/xen/netback/netback_unit_tests.c:

	Rewrote the netback driver for xen to attach properly via newbus
	and work properly in both HVM and PVM mode (only HVM is tested).
	Works with the in-tree FreeBSD netfront driver or the Windows
	netfront driver from SuSE.  Has not been extensively tested with
	a Linux netfront driver.  Does not implement LRO, TSO, or
	polling.  Includes unit tests that may be run through sysctl
	after compiling with XNB_DEBUG defined.

sys/dev/xen/blkback/blkback.c,
sys/xen/interface/io/netif.h:

	Comment elaboration.

sys/kern/uipc_mbuf.c:

	Fix page fault in kernel mode when calling m_print() on a
	null mbuf.  Since m_print() is only used for debugging, there
	are no performance concerns for extra error checking code.

sys/kern/subr_scanf.c:

	Add the "hh" and "ll" width specifiers from C99 to scanf().
	A few callers were already using "ll" even though scanf()
	was handling it as "l".

Submitted by:	Alan Somers <alans@spectralogic.com>
Submitted by:	John Suykerbuyk <johns@spectralogic.com>
Sponsored by:	Spectra Logic
MFC after:	1 week
Reviewed by:	ken
2012-01-26 16:35:09 +00:00
Gleb Smirnoff
2930db16a0 List supported ioctl commands instead of old one. 2012-01-26 11:08:55 +00:00
Gleb Smirnoff
7dfa86aa2e Don't mention no longer supported ioctl commands. 2012-01-26 10:53:39 +00:00
Gleb Smirnoff
368477adfa Remove a block that contatined some outdated misinformation
on how addresses are configured, as well as obviousness that
Ethernet interface may run arp(4).
2012-01-26 10:51:41 +00:00
Gleb Smirnoff
7da6d32c59 Remove a commented out old block inherited from inet.4. The
text there was so much outdated that it required a complete
rewrite even for inet.4, not mentioning inet6.4. There is
no reason to keep it in the manual page.
2012-01-26 10:48:17 +00:00
Gleb Smirnoff
da393f3458 - Remove no longer supported ioctl cmds.
- Fix name of SIOCSIFADDR.
2012-01-26 10:43:40 +00:00
Gleb Smirnoff
c1f9914b88 Update information on setting and retreiving inet4 addresses. 2012-01-26 10:42:25 +00:00
Alexander Motin
d9360bbfc4 Rewrite jack presence detection and implement automatic recording source
selection in snd_hda(4) driver.

Now driver tracks jack presence detection status for every CODEC pin. For
playback associations, when configured, that information, same as before,
can be used to automatically redirect audio to headphones. Also same as
before, these events are used to track digital display connection status
and fetch ELD. Now in addition to that driver uses that information to
automatically switch recording source of the mixer to the connected input.

When there are devices with no jack detection and with one both connected,
last ones will have the precedence. As result, on most laptops after boot
internal microphone should be automatically selected. But if external one
(for example, headset) connected, it will be selected automatically.
When external mic disconnected, internal one will be selected again.

Automatic recording source selection is enabled by default now to make
recording work out of the box without touching mixer. But it can be
disabled or limited only to attach time using hint.pcm.X.rec.autosrc loader
tunables or dev.pcm.X.rec.autosrc sysctls.

MFC after:	2 months
Sponsored by:	iXsystems, Inc.
2012-01-25 20:46:10 +00:00
Warner Losh
c9b36592cc Some minor additions to the list of supported devices... 2012-01-25 04:45:29 +00:00
Stefan Farfeleder
a6fdf2db3c Document the values for hw.snd.default_auto. 2012-01-22 14:04:42 +00:00
Christian Brueffer
24835875f2 Connect VirtIO-related manpages to the build. 2012-01-22 13:51:20 +00:00
Christian Brueffer
28083eaa4d General cleanup.
Prodded by:	grehan
2012-01-22 10:16:24 +00:00
Pyun YongHyeon
d99ecc7db3 Reflect tunable name change made in r230337. 2012-01-19 20:31:29 +00:00
Ed Schouten
5dc6c3a38a Remove remnants of dev_t.
These functions take a `struct cdev *' -- not a dev_t. Inside the
kernel, dev_t has the same use as in userspace, namely to store a device
identifier.

MFC after:	2 weeks
2012-01-19 09:51:07 +00:00
Kevin Lo
1e3b25d918 Add missing MLINKS to INDEX.5 2012-01-19 02:49:21 +00:00
Sean Bruno
247c3295fe Update .Dd date on this man page.
MFC with r230313 and r230316

Caught by: bz
Obtained from:	Yahoo! Inc.
2012-01-18 22:52:02 +00:00
Sean Bruno
b2c4ef7eb1 Update man page to show that ciss(4) now support the P420
MFC with r230313

Caught by:  brueffer
Obtained from:	Yahoo! Inc
MFC after:	2 weeks
2012-01-18 21:27:49 +00:00
Jens Schweikhardt
ffce9a999d Comment cosmetics: end more sentences with full stops. 2012-01-18 14:41:26 +00:00
Lawrence Stewart
555f396285 Specify the correct section (4 instead of 9) in the h_ertt man page's title and
bump the document date.

MFC after:	3 days
2012-01-18 03:03:21 +00:00
Kevin Lo
1dc8fb4d77 NOOBJ is long time dead
Reviewed by:	kib
2012-01-18 02:29:11 +00:00
Kevin Lo
0ad9a4f449 vfs_object_create() function is obsolete. Use vnode_create_vobject()
to create the backing object.

Reviewed by:	kib
2012-01-18 02:27:09 +00:00
Pyun YongHyeon
ca4bfcbc21 Document dev.bge.%d.msi_disable tunable. 2012-01-17 22:17:11 +00:00
Alexander Motin
7c6b05d280 Major snd_hda driver rewrite:
- Huge old hdac driver was split into three independent pieces: HDA
controller driver (hdac), HDA CODEC driver (hdacc) and HDA sudio function
driver (hdaa).
 - Support for multichannel recording was added. Now, as specification
defines, driver checks input associations for pins with sequence numbers
14 and 15, and if found (usually) -- works as before, mixing signals
together. If it doesn't, it configures input association as multichannel.
 - Signal tracer was improved to look for cases where several DACs/ADCs in
CODEC can work with the same audio signal. If such case found, driver
registers additional playback/record stream (channel) for the pcm device.
 - New controller streams reservation mechanism was implemented. That
allows to have more pcm devices then streams supported by the controller
(usually 4 in each direction). Now it limits only number of simultaneously
transferred audio streams, that is rarely reachable and properly reported
if happens.
 - Codec pins and GPIO signals configuration was exported via set of
writable sysctls. Another sysctl dev.hdaa.X.reconfig allows to trigger
driver reconfiguration in run-time.
 - Driver now decodes pins location and connector type names. In some cases
it allows to hint user where on the system case connectors, related to the
pcm device, are located. Number of channels supported by pcm device,
reported now (if it is not 2), should also make search easier.
 - Added workaround for digital mic on some Asus laptops/netbooks.

MFC after:	2 months
Sponsored by:	iXsystems, Inc.
2012-01-15 13:21:36 +00:00
Doug Barton
c86072f5a7 Remove documentation for set_rcvar() now that it has been removed. 2012-01-14 21:51:44 +00:00
Gleb Smirnoff
5af5af75aa No need to run buildworld before generate-release.sh. 2012-01-14 18:16:10 +00:00
Ed Schouten
448c12f4ce Regenerate src.conf(5). 2012-01-13 15:43:01 +00:00
Maxim Konovalov
ab80dcdb1c Copyright years updated. 2012-01-13 06:18:23 +00:00
Maxim Konovalov
f879c81a89 o Mac OS X 10.7 added (belatedly). FreeBSD 9.0-RELEASE added. 2012-01-13 06:14:03 +00:00
Eygene Ryabinkin
0113cca483 rc.d: document 'quiet' prefix and fix dhclient/devd interaction
Document the current semantics of the 'quiet' command prefix
in the rc.subr(8).

Fix dhclient rc.d script: it should not call err() for
non-DHCP-enabled interface when it is called from devd, because the
latter just blindly calls 'service dhclient quietstart' on each "link
up" event.

Since the 'quietstart' will silence the message "Cannot 'start' <foo>.
Set <foo>_enable to YES in /etc/rc.conf or use 'onestart' instead of
'start'." and running dhclient on the non-DHCP-enabled interface is
the same thing as running the service <foo> without <foo>_enable set,
such modification is in sync with the current semantics of the 'quiet'
prefix.

Approved by: glebius
Reviewed by: freebsd-rc list
MFC after:	2 weeks
2012-01-12 06:48:11 +00:00
Kenneth D. Merry
130f4520cb Add the CAM Target Layer (CTL).
CTL is a disk and processor device emulation subsystem originally written
for Copan Systems under Linux starting in 2003.  It has been shipping in
Copan (now SGI) products since 2005.

It was ported to FreeBSD in 2008, and thanks to an agreement between SGI
(who acquired Copan's assets in 2010) and Spectra Logic in 2010, CTL is
available under a BSD-style license.  The intent behind the agreement was
that Spectra would work to get CTL into the FreeBSD tree.

Some CTL features:

 - Disk and processor device emulation.
 - Tagged queueing
 - SCSI task attribute support (ordered, head of queue, simple tags)
 - SCSI implicit command ordering support.  (e.g. if a read follows a mode
   select, the read will be blocked until the mode select completes.)
 - Full task management support (abort, LUN reset, target reset, etc.)
 - Support for multiple ports
 - Support for multiple simultaneous initiators
 - Support for multiple simultaneous backing stores
 - Persistent reservation support
 - Mode sense/select support
 - Error injection support
 - High Availability support (1)
 - All I/O handled in-kernel, no userland context switch overhead.

(1) HA Support is just an API stub, and needs much more to be fully
    functional.

ctl.c:			The core of CTL.  Command handlers and processing,
			character driver, and HA support are here.

ctl.h:			Basic function declarations and data structures.

ctl_backend.c,
ctl_backend.h:		The basic CTL backend API.

ctl_backend_block.c,
ctl_backend_block.h:	The block and file backend.  This allows for using
			a disk or a file as the backing store for a LUN.
			Multiple threads are started to do I/O to the
			backing device, primarily because the VFS API
			requires that to get any concurrency.

ctl_backend_ramdisk.c:	A "fake" ramdisk backend.  It only allocates a
			small amount of memory to act as a source and sink
			for reads and writes from an initiator.  Therefore
			it cannot be used for any real data, but it can be
			used to test for throughput.  It can also be used
			to test initiators' support for extremely large LUNs.

ctl_cmd_table.c:	This is a table with all 256 possible SCSI opcodes,
			and command handler functions defined for supported
			opcodes.

ctl_debug.h:		Debugging support.

ctl_error.c,
ctl_error.h:		CTL-specific wrappers around the CAM sense building
			functions.

ctl_frontend.c,
ctl_frontend.h:		These files define the basic CTL frontend port API.

ctl_frontend_cam_sim.c:	This is a CTL frontend port that is also a CAM SIM.
			This frontend allows for using CTL without any
			target-capable hardware.  So any LUNs you create in
			CTL are visible in CAM via this port.

ctl_frontend_internal.c,
ctl_frontend_internal.h:
			This is a frontend port written for Copan to do
			some system-specific tasks that required sending
			commands into CTL from inside the kernel.  This
			isn't entirely relevant to FreeBSD in general,
			but can perhaps be repurposed.

ctl_ha.h:		This is a stubbed-out High Availability API.  Much
			more is needed for full HA support.  See the
			comments in the header and the description of what
			is needed in the README.ctl.txt file for more
			details.

ctl_io.h:		This defines most of the core CTL I/O structures.
			union ctl_io is conceptually very similar to CAM's
			union ccb.

ctl_ioctl.h:		This defines all ioctls available through the CTL
			character device, and the data structures needed
			for those ioctls.

ctl_mem_pool.c,
ctl_mem_pool.h:		Generic memory pool implementation used by the
			internal frontend.

ctl_private.h:		Private data structres (e.g. CTL softc) and
			function prototypes.  This also includes the SCSI
			vendor and product names used by CTL.

ctl_scsi_all.c,
ctl_scsi_all.h:		CTL wrappers around CAM sense printing functions.

ctl_ser_table.c:	Command serialization table.  This defines what
			happens when one type of command is followed by
			another type of command.

ctl_util.c,
ctl_util.h:		CTL utility functions, primarily designed to be
			used from userland.  See ctladm for the primary
			consumer of these functions.  These include CDB
			building functions.

scsi_ctl.c:		CAM target peripheral driver and CTL frontend port.
			This is the path into CTL for commands from
			target-capable hardware/SIMs.

README.ctl.txt:		CTL code features, roadmap, to-do list.

usr.sbin/Makefile:	Add ctladm.

ctladm/Makefile,
ctladm/ctladm.8,
ctladm/ctladm.c,
ctladm/ctladm.h,
ctladm/util.c:		ctladm(8) is the CTL management utility.
			It fills a role similar to camcontrol(8).
			It allow configuring LUNs, issuing commands,
			injecting errors and various other control
			functions.

usr.bin/Makefile:	Add ctlstat.

ctlstat/Makefile
ctlstat/ctlstat.8,
ctlstat/ctlstat.c:	ctlstat(8) fills a role similar to iostat(8).
			It reports I/O statistics for CTL.

sys/conf/files:		Add CTL files.

sys/conf/NOTES:		Add device ctl.

sys/cam/scsi_all.h:	To conform to more recent specs, the inquiry CDB
			length field is now 2 bytes long.

			Add several mode page definitions for CTL.

sys/cam/scsi_all.c:	Handle the new 2 byte inquiry length.

sys/dev/ciss/ciss.c,
sys/dev/ata/atapi-cam.c,
sys/cam/scsi/scsi_targ_bh.c,
scsi_target/scsi_cmds.c,
mlxcontrol/interface.c:	Update for 2 byte inquiry length field.

scsi_da.h:		Add versions of the format and rigid disk pages
			that are in a more reasonable format for CTL.

amd64/conf/GENERIC,
i386/conf/GENERIC,
ia64/conf/GENERIC,
sparc64/conf/GENERIC:	Add device ctl.

i386/conf/PAE:		The CTL frontend SIM at least does not compile
			cleanly on PAE.

Sponsored by:	Copan Systems, SGI and Spectra Logic
MFC after:	1 month
2012-01-12 00:34:33 +00:00
Alexander V. Chernikov
756e2ef0ff Add setsockopt(2) example to ng_ksocket(4).
While here, fix formatting a bit

Approved by:     kib(mentor)
MFC after:       2 weeks
2012-01-10 12:45:24 +00:00
Eitan Adler
2394cc2228 X11BASE has been deprecated for a long time and will die soon
Approved by:	x11 (eadler)
Approved by:	brucec
MFC after:	1 week
2012-01-09 00:48:19 +00:00
Adrian Chadd
030b95d479 Allow crunchgen binary link generation to be disabled.
If CRUNCH_GENERATE_LINKS is set to "no", then no links will be
generated.

This defaults to "yes" so things like release crunch building
still works.
2012-01-05 21:49:43 +00:00
Ulrich Spörlein
8948622005 Apply Typo-B-Gone 2000 [TM] 2012-01-05 21:43:33 +00:00
Ulrich Spörlein
cabdddae57 Pull up vendor changes to mdoc(7)
This switches us to using -isoC-2011 as the symbol name which is used by
groff and mdocml. It follows the change to 4 digit years as done with
IEEE Std 1003 post-1999.

MFC after:	2 weeks (groff changes only)
2012-01-05 21:36:12 +00:00
Christian Brueffer
b730be7a19 Fix typo.
MFC after:	1 week
2012-01-05 11:16:42 +00:00
Ed Schouten
069a43171f Reimplement <tgmath.h> on top of __generic().
The macro construction used now, is almost identical to the code
provided in C11 proposal N1404. This new version doesn't seem to
introduce any regressions according to the regression test in tools/,
but still seems to malfunction with Clang on certain aspects.

The new code does work successfully with GCC 4.2, 4.6 and 4.7. With 4.7,
it also works when __generic() is implemented on top of _Generic().

Discussed with:	stefanf
2012-01-05 10:46:22 +00:00
Robert Watson
6508f34eb6 Add WITHOUT_CAPSICUM src.conf(5) define, which can be used to compile out
use of Capsicum by userspace applications.

MFC after:	3 weeks
Sponsored by:	Google, Inc.
2012-01-02 21:57:58 +00:00
Ed Schouten
194cef3114 Fix sloppyness in memcchr() man page.
I was considering adding it to libc as well, but last minute I thought
it would be good enough to add it to libkern exclusively. I forgot to
rename the man page and hook it up.
2012-01-01 20:59:42 +00:00
Ed Schouten
a4ec012311 Fix typo; return -> returns. 2012-01-01 20:30:48 +00:00
Ed Schouten
de85bfc508 Introducing memcchr(3).
It seems two of the file system drivers we have in the tree, namely ufs
and ext3, use a function called `skpc()'. The meaning of this function
does not seem to be documented in FreeBSD, but it turns out one needs to
be a VAX programmer to understand what it does.

SPKC is an instruction on the VAX that does the opposite of memchr(). It
searches for the non-equal character. Add a new function called
memcchr() to the tree that has the following advantages over skpc():

- It has a name that makes more sense than skpc(). Just like strcspn()
  matches the complement of strspn(), memcchr() is the complement of
  memchr().

- It is faster than skpc(). Similar to our strlen() in libc, it compares
  entire words, instead of single bytes. It seems that for this routine
  this yields a sixfold performance increase on amd64.

- It has a man page.
2012-01-01 20:26:11 +00:00
Lawrence Stewart
253a3814d4 Revert r228986 until it can be reworked to avoid panicing the kernel when the
same interface is attached multiple times with different DLTs, as is done in
net80211 for example.

Reported by:	adrian
2011-12-31 07:21:28 +00:00