1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-15 10:17:20 +00:00
Mirror of the FreeBSD src repository https://git.FreeBSD.org/src.git .
Go to file
John Baldwin 0fca6f8bf5 Add locking to mlx(4) to make it MPSAFE along with some other fixes:
- Use callout(9) rather than timeout(9).
- Add a mutex as an I/O lock that protects the adapter and is used
  for the I/O path.
- Add an sx lock as a configuration lock that protects the relationship
  of configured volumes.
- Freeze the request queue when a DMA load is deferred with EINPROGRESS
  and unfreeze the queue when the DMA callback is invoked.
- Explicitly poll the hardware while waiting to submit a command to
  allow completed commands to free up slots in the command ring.
- Remove driver-wide 'initted' variable from mlx_*_fw_handshake() routines.
  That state should be per-controller instead.  Add it as an argument
  since the first caller knows when it is the first caller.
- Remove explicit bus_space tag/handle and use bus_*() rather than
  bus_space_*().
- Move duplicated PCI device ID probing into a  mlx_pci_match() routine.
- Don't check for PCIM_CMD_MEMEN (the PCI bus will enable that when
  allocating the resource) and use pci_enable_busmaster() rather than
  manipulating the register directly.

Tested by:	no one despite multiple requests (hope it works)
2012-09-17 15:27:30 +00:00
bin Revert 240527: 2012-09-16 16:08:20 +00:00
cddl Merge recent zfs vendor changes, sync code and adjust userland DEBUG. 2012-09-12 18:05:43 +00:00
contrib Pull in r163967 from upstream llvm trunk: 2012-09-15 17:02:05 +00:00
crypto openssl: change SHLIB_VERSION_NUMBER to reflect the reality 2012-09-11 06:10:49 +00:00
etc rc.d/power_profile: use recently added Cmax for cx_lowest 2012-09-11 06:25:10 +00:00
games Add a couple of nice quotes from Edward Everett Hale 2012-07-29 01:01:35 +00:00
gnu For building libstdc++ and libsupc++, filter out any -stdlib=libc++ 2012-08-25 23:08:24 +00:00
include o Create directory sys/netpfil, where all packet filters should 2012-09-14 11:51:49 +00:00
kerberos5 Centralize the specification of the krb5 build tools. 2012-06-01 21:26:28 +00:00
lib Optimise i387 trigonometric functions. Replace "andw 0x400,%ax \ jnz" with 2012-09-16 16:58:49 +00:00
libexec Bump date missed in r202756 2012-09-14 17:50:42 +00:00
release Update usage() in comment section. 2012-09-17 02:35:00 +00:00
rescue Partial MFV (illumos-gate 13753:2aba784c276b) 2012-07-30 23:14:24 +00:00
sbin Minor mdoc fix. 2012-09-14 13:14:48 +00:00
secure Upgrade OpenSSH to 6.1p1. 2012-09-03 16:51:41 +00:00
share Update release(7) to reflect changes from r240586 and r240587: 2012-09-17 02:45:52 +00:00
sys Add locking to mlx(4) to make it MPSAFE along with some other fixes: 2012-09-17 15:27:30 +00:00
tools Correct double "the the" 2012-09-14 21:28:56 +00:00
usr.bin Make systat(1) accept fractional number of seconds. 2012-09-17 13:36:47 +00:00
usr.sbin In snmp_hostres, device_map table is used for consistent device table 2012-09-17 07:32:53 +00:00
COPYRIGHT Happy 2012 to FreeBSD users in Samoa. 2011-12-31 04:38:04 +00:00
LOCKS Update LOCKS syntax. 2008-06-05 19:47:58 +00:00
MAINTAINERS We moved to subversion ages ago. 2012-09-10 14:11:10 +00:00
Makefile Not all Pmake derivatives silently handle empty shell output, so ensure there 2012-09-12 14:44:25 +00:00
Makefile.inc1 Introduce a new make variable COMPILER_TYPE that specifies what 2012-09-13 16:00:46 +00:00
ObsoleteFiles.inc Add removed if_pflow.h. 2012-09-09 08:14:47 +00:00
README Vendor import of OpenSSH 6.1p1. 2012-08-29 15:55:54 +00:00
UPDATING Merge the projects/pf/head branch, that was worked on for last six months, 2012-09-08 06:41:54 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on:
$FreeBSD$

For copyright information, please see the file COPYRIGHT in this
directory (additional copyright information also exists for some
sources in this tree - please see the specific source directories for
more information).

The Makefile in this directory supports a number of targets for
building components (or all) of the FreeBSD source tree, the most
commonly used one being ``world'', which rebuilds and installs
everything in the FreeBSD system from the source tree except the
kernel, the kernel-modules and the contents of /etc.  The ``world''
target should only be used in cases where the source tree has not
changed from the currently running version.  See:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html
for more information, including setting make(1) variables.

The ``buildkernel'' and ``installkernel'' targets build and install
the kernel and the modules (see below).  Please see the top of
the Makefile in this directory for more information on the
standard build targets and compile-time flags.

Building a kernel is a somewhat more involved process, documentation
for which can be found at:
   http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html
And in the config(8) man page.
Note: If you want to build and install the kernel with the
``buildkernel'' and ``installkernel'' targets, you might need to build
world before.  More information is available in the handbook.

The sample kernel configuration files reside in the sys/<arch>/conf
sub-directory (assuming that you've installed the kernel sources), the
file named GENERIC being the one used to build your initial installation
kernel.  The file NOTES contains entries and documentation for all possible
devices, not just those commonly used.  It is the successor of the ancient
LINT file, but in contrast to LINT, it is not buildable as a kernel but a
pure reference and documentation file.


Source Roadmap:
---------------
bin		System/user commands.

cddl		Various commands and libraries under the Common Development
		and Distribution License.

contrib		Packages contributed by 3rd parties.

crypto		Cryptography stuff (see crypto/README).

etc		Template files for /etc.

games		Amusements.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

kerberos5	Kerberos5 (Heimdal) package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

rescue		Build system for statically linked /rescue utilities.

sbin		System commands.

secure		Cryptographic libraries and commands.

share		Shared resources.

sys		Kernel sources.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.


For information on synchronizing your source tree with one or more of
the FreeBSD Project's development branches, please see:

  http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/synching.html