FreeBSD src
Go to file
John Baldwin cebc7fb16c Improve the handling of cpuset with interrupts.
- For x86, change the interrupt source method to assign an interrupt source
  to a specific CPU to return an error value instead of void, thus allowing
  it to fail.
- If moving an interrupt to a CPU fails due to a lack of IDT vectors in the
  destination CPU, fail the request with ENOSPC rather than panicing.
- For MSI interrupts on x86 (but not MSI-X), only allow cpuset to be used
  on the first interrupt in a group.  Moving the first interrupt in a group
  moves the entire group.
- Use the icu_lock to protect intr_next_cpu() on x86 instead of the
  intr_table_lock to fix a LOR introduced in the last set of MSI changes.
- Add a new privilege PRIV_SCHED_CPUSET_INTR for using cpuset with
  interrupts.  Previously, binding an interrupt to a CPU only performed a
  privilege check if the interrupt had an interrupt thread.  Interrupts
  without a thread could be bound by non-root users as a result.
- If an interrupt event's assign_cpu method fails, then restore the original
  cpuset mask for the associated interrupt thread.

Approved by:	re (kib)
2009-07-01 17:20:07 +00:00
bin With NFSv4 ACLs, it is possible that applying a mode to an ACL which 2009-07-01 15:52:19 +00:00
cddl Fix lockstat breakage to arm/powerpc buildworld. 2009-05-27 22:41:28 +00:00
contrib This is the solution that ISC committed after 9.6.1-release for 2009-06-25 19:52:45 +00:00
crypto Use the closefrom(2) system call. 2009-06-16 15:30:10 +00:00
etc rtsol should not be run on the wireless NIC interfaces directly, 2009-06-26 01:27:16 +00:00
games Misc fixed to fortunes 2009-06-05 07:57:10 +00:00
gnu Back out previous revision until better tested fix is ready. 2009-06-29 01:33:59 +00:00
include Merge fmtcheck() prototype change. 2009-06-23 23:53:35 +00:00
kerberos5 Disconnect closefrom.c as we have it as a system call. 2009-06-16 00:09:06 +00:00
lib Make it clear where to look for for protocol-specific socket options. 2009-06-30 20:53:56 +00:00
libexec Back out previous revision until better tested fix is ready. 2009-06-29 01:33:59 +00:00
release Add libjail to the boot_crunch binaries (for ifconfig). 2009-06-29 13:59:30 +00:00
rescue Add the "vnet" and "-vnet" options, to allow moving interfaces between 2009-06-24 18:21:37 +00:00
sbin - 'burst' description rewritten. 2009-06-26 19:49:06 +00:00
secure Use the closefrom(2) system call. 2009-06-16 15:30:10 +00:00
share - Add support to atomically set/clear individual bits of a MSR register 2009-06-30 12:35:47 +00:00
sys Improve the handling of cpuset with interrupts. 2009-07-01 17:20:07 +00:00
tools Add some tests for r194975 and r194977. 2009-06-25 17:36:08 +00:00
usr.bin Support shadow.byname and shadow.byuid maps, protecting them by 2009-06-25 16:15:39 +00:00
usr.sbin - Fix the bug in write(2) called with incorrect parameters resulting in writes 2009-07-01 13:07:02 +00:00
COPYRIGHT Bump the odometer of the years. A little early this year for 7.1R. 2008-12-30 04:46:25 +00:00
LOCKS Update LOCKS syntax. 2008-06-05 19:47:58 +00:00
MAINTAINERS Remove usb. The need to have core@ approve major changes to usb has 2009-06-24 17:23:10 +00:00
Makefile Add a new world named 'mips' to our universe. 2009-04-01 17:11:50 +00:00
Makefile.inc1 Back out previous revision until better tested fix is ready. 2009-06-29 01:33:59 +00:00
ObsoleteFiles.inc Add usr/include/nfs/rpcv2.h 2009-07-01 07:37:21 +00:00
README Simply running ``make world'' will bomb unless you dig up the 2006-06-07 03:33:48 +00:00
UPDATING Add an entry documenting removal of the NFS_LEGACYRPC option. 2009-07-01 07:35:57 +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