freebsd with flexible iflib nic queues
Go to file
Bill Paul df7b7cf4c3 Begin the first phase of trying to add IRP support (and ultimately
USB device support):

- Convert all of my locally chosen function names to their actual
  Windows equivalents, where applicable. This is a big no-op change
  since it doesn't affect functionality, but it helps avoid a bit
  of confusion (it's now a lot easier to see which functions are
  emulated Windows API routines and which are just locally defined).

- Turn ndis_buffer into an mdl, like it should have been. The structure
  is the same, but now it belongs to the subr_ntoskrnl module.

- Implement a bunch of MDL handling macros from Windows and use them where
  applicable.

- Correct the implementation of IoFreeMdl().

- Properly implement IoAllocateMdl() and MmBuildMdlForNonPagedPool().

- Add the definitions for struct irp and struct driver_object.

- Add IMPORT_FUNC() and IMPORT_FUNC_MAP() macros to make formatting
  the module function tables a little cleaner. (Should also help
  with AMD64 support later on.)

- Fix if_ndis.c to use KeRaiseIrql() and KeLowerIrql() instead of
  the previous calls to hal_raise_irql() and hal_lower_irql() which
  have been renamed.

The function renaming generated a lot of churn here, but there should
be very little operational effect.
2005-01-24 18:18:12 +00:00
bin De-kerberize the manpage. 2005-01-21 09:31:38 +00:00
contrib Fix NULL pointer dereference bug when parsing IPV6CP traffic. 2005-01-24 14:56:48 +00:00
crypto Better Xlist command line. 2004-10-28 16:13:28 +00:00
etc We cannot use sed(1), because rc.d/gbde has to be called before 2005-01-23 16:43:55 +00:00
games s/principals/principles/ 2005-01-22 20:00:50 +00:00
gnu Sort sections. 2005-01-18 09:04:26 +00:00
include Fix the pbio include file installation process and the 2005-01-14 14:18:19 +00:00
kerberos5 NODOCCOMPRESS -> NO_DOCCOMPRESS 2004-12-21 09:33:47 +00:00
lib Markup and grammar fixes. 2005-01-24 18:14:18 +00:00
libexec Respect the `logging' flag. 2005-01-19 10:49:40 +00:00
release Add sysutils/portsnap onto the list of desired packages, since people 2005-01-19 21:06:22 +00:00
rescue Ignoring MAKEFLAGS in rev. 1.15 was a very bad idea. This causes 2005-01-20 10:43:43 +00:00
sbin Bring back WARNS to 3 for arm until I figure out how to make gcc happy. 2005-01-24 01:56:06 +00:00
secure Correctly hide the command arguments. 2005-01-17 21:46:13 +00:00
share Attempt to describe the race conditions that must be considered 2005-01-23 17:42:48 +00:00
sys Begin the first phase of trying to add IRP support (and ultimately 2005-01-24 18:18:12 +00:00
tools Use WARNS?= instead of WARNS= in Makefiles so that global warning 2005-01-22 22:42:39 +00:00
usr.bin According to style.Makefile(5): 2005-01-23 12:29:46 +00:00
usr.sbin o Reorganize the previous delta to make it more style(9) compliant. 2005-01-24 17:01:48 +00:00
COPYRIGHT Complete 2005 transition. 2005-01-01 07:29:20 +00:00
MAINTAINERS Drop hold on patch. ENOTIME for long-stalled ideas here. Too busy elsewhere. 2004-12-29 03:49:58 +00:00
Makefile NOSHARED -> NO_SHARED 2004-12-21 09:59:45 +00:00
Makefile.inc1 In crunchgen(1), when calling make(1), don't redirect stderr to stdout, 2005-01-20 10:49:03 +00:00
README KerberosIV de-orbit burn continues. Disconnect from "make world". 2003-03-08 10:01:26 +00:00
UPDATING Note the deprecation of the abbreviation of a number of ipfw options. 2005-01-15 01:53:49 +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
``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.

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