FreeBSD src
Go to file
Marius Strobl d05b58ad32 o Changes to psycho_attach(): [1]
- Clear the PCI AFSR and status error bits as previous errors still
    might be indicated.
  - Set up the PCI control and diagnostic registers according to the
    capabilities, workarounds, etc of/for specific revisions of the
    supported bridges. This includes no longer setting Hummingbird-/
    Sabre-specific bits in the PCI control register but preserving
    what the firmware has initialized them to like OpenSolaris does.
    Previously we were setting these bits according to the example in
    the Sabre documentation, which I doubt is appropriate for all
    Sabre based designs and especially not for Hummingbirds. This
    also includes not enabling bus parking unless the firmware tells
    us to.
  - Set the PCI latency timer register as this isn't always done by
    the firmware.
o Remove a redundant argument from psycho_set_intr() and in this
  function check the return value of bus_setup_intr(). [2]
o Let psycho_setup_intr() return ENOMEM instead of 0 when it can't
  allocate memory for the interrupt wrapper stub and EINVAL instead
  of 0 if it can't find the interrupt vector in the interrupt map.
o Add a workaround for a bug of the Sabre-APB-combination where it
  doesn't drain DMA write data for devices behind additional PCI-PCI
  bridges underneath the APB PCI-PCI bridge. This workaround (do
  things necessary in order to achieve a manual drain when coherency
  is required) is currently implemented in psycho_setup_intr() and
  psycho_intr_stub() (for easy MFC'ing) and therefore is only applied
  for interrupt handlers. This should be moved to psycho(4)-specific
  bus_dma_tag_create() and bus_dmamap_sync() methods, respectively,
  once this driver is converted to make use of BUS_GET_DMA_TAG(), so
  the workaround is also applied for polling(4) callbacks. [3]
o Fix some minor style issues.

Info from:	OpenSolaris [1]
Info from:	Linux, OpenBSD, OpenSolaris [3]
Suggested by:	Coverity Prevent (CID 682) [2]
MFC after:	1 month
2007-01-08 01:26:47 +00:00
bin Fix markup. 2006-12-27 12:14:56 +00:00
contrib Merge local diffs. 2007-01-03 04:59:33 +00:00
crypto Resolve conflicts. 2006-11-10 16:52:41 +00:00
etc Re-work Cx handling to be per-cpu and asymmetrical, fixing support on 2007-01-07 21:53:42 +00:00
games More minor cleanups: 2007-01-06 22:04:46 +00:00
gnu Change RL_LIBRARY_VERSION 2006-12-31 09:27:16 +00:00
include Add function __mq_oshandle() to get file handle of a mqueue. 2007-01-06 11:30:04 +00:00
kerberos5 Kerberos/Heimdal doesn't really depend on the INET6 macro. 2006-07-28 06:33:27 +00:00
lib Be more specific in ENXIO description: 2007-01-07 23:06:53 +00:00
libexec Fix TLS on sparc64 for statically and dynamically linked binaries 2006-10-08 02:50:34 +00:00
release Sort: powerpc comes after pc98. 2007-01-07 18:14:44 +00:00
rescue Remove mount_ext2fs. 2006-11-22 22:55:54 +00:00
sbin Fix a parsing bug when specifying more than one address with dotted decimal 2007-01-07 03:02:02 +00:00
secure Fix static compilation. 2006-10-07 17:32:05 +00:00
share Document that we supported Intel PRO/100 VM Network Connection. 2007-01-07 20:30:27 +00:00
sys o Changes to psycho_attach(): [1] 2007-01-08 01:26:47 +00:00
tools Fix a few of the tests so that correct implementations actually pass them. 2007-01-07 09:25:22 +00:00
usr.bin Add code to parse the utrace(2) entries generated by malloc(3) in a more 2007-01-05 21:04:37 +00:00
usr.sbin MFp4: struct fsm_opt_hdr needs to be __packed as it is used as an array for 2007-01-05 00:33:00 +00:00
COPYRIGHT Welcome to 2007 2006-12-31 16:35:29 +00:00
LOCKS Document commit constraints for RELENG_6_*. 2006-01-13 06:51:43 +00:00
MAINTAINERS Request pre-commit review of BSD.{local,x11*}.dist by portmgr, since these 2006-11-11 22:24:10 +00:00
Makefile Add arm to universe. 2006-11-28 01:03:29 +00:00
Makefile.inc1 There was a timeframe where crunchgen(1) was broken; force 2006-11-27 19:38:28 +00:00
ObsoleteFiles.inc Remove old man page. 2007-01-02 03:42:16 +00:00
README Simply running ``make world'' will bomb unless you dig up the 2006-06-07 03:33:48 +00:00
UPDATING Note the second coming of MSI support in the bge driver. 2006-12-22 03:03:31 +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.

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