FreeBSD src
Go to file
Bill Paul 6041f1a522 The kthread_create() API is supposed to allow you to create threads
with more than the normal amount of stack pages, however the stack
pointer always wound up being initialized using KSTACK_PAGES. It
should be using td->td_kstack_pages instead. This means that although
the vm subsystem would give you all the stack pages you asked for,
%esp would always be initialized as if you had just 2 pages, and
the rest would go to waste.

I wanted to use the 'give me more stack pages' feature of kthread_create()
because the Intel 2200BG NDIS driver does an alloca() of about 5000 bytes,
which wrecks the stack with the default 2 page size, and I was baffled
that no matter how much code I shoved into thread contexts with
allegedly larger stacks, the thing would still crash unless I changed
KSTACK_PAGES.

Note: this bug is present in _ALL_ arches at this point. Peter has
promised to merge this fix into all of them.
2004-03-22 00:28:38 +00:00
bin When symbolic link is pointed onto a mount point, it can't be moved 2004-03-21 13:38:37 +00:00
contrib Remove NetBSD's sort(1), which we stopped using two years ago. 2004-03-20 23:27:42 +00:00
crypto Resolve conflicts after import of OpenSSL 0.9.7d. 2004-03-17 17:44:39 +00:00
etc o Add user proxy. 2004-03-20 19:13:06 +00:00
games Fixed a mispelling of 0 as NULL. 2004-03-14 05:28:29 +00:00
gnu Get rid of a spurious "the". 2004-03-18 20:36:14 +00:00
include Parenthesize function names in masking macros for getc() etc. for the 2004-03-20 11:45:52 +00:00
kerberos5 style.Makefile(5). 2004-02-05 18:51:52 +00:00
lib Document incorrect handling of multibyte characters. 2004-03-21 11:31:37 +00:00
libexec More stack alignment fixes. Arrange so we call _rtld() in ld-elf.so.1 2004-03-21 01:43:39 +00:00
release Fix various issues with the picobsd build script in -current: 2004-03-21 10:46:13 +00:00
rescue Remove dangling raidctl reference 2004-03-16 13:42:23 +00:00
sbin Add initial support for compiling a special 32 bit version of 2004-03-21 01:21:26 +00:00
secure Update manual pages for OpenSSL 0.9.7d. 2004-03-17 16:15:46 +00:00
share Login classes are not "unused." 2004-03-21 19:36:16 +00:00
sys The kthread_create() API is supposed to allow you to create threads 2004-03-22 00:28:38 +00:00
tools Braino in previous commit. 2004-03-18 03:01:28 +00:00
usr.bin 1. Use socklen_t instead of int 2004-03-21 08:14:39 +00:00
usr.sbin Fixed a warning. 2004-03-17 20:10:59 +00:00
COPYRIGHT Update the COPYRIGHT file to include FreeBSD's compilation copyright 2003-12-31 22:35:22 +00:00
installworld_newk Commit the first set of files for changing time_t on freebsd/sparc64 2004-03-03 19:36:20 +00:00
installworld_oldk Commit the first set of files for changing time_t on freebsd/sparc64 2004-03-03 19:36:20 +00:00
MAINTAINERS Update for reality. 2004-03-01 16:34:39 +00:00
Makefile Protect shell expansions. 2004-03-02 14:32:23 +00:00
Makefile.inc1 Removed 3x2 dots I don't like. ;) 2004-03-19 17:57:07 +00:00
README KerberosIV de-orbit burn continues. Disconnect from "make world". 2003-03-08 10:01:26 +00:00
UPDATING Mention the user account for 'pf' is "proxy". 2004-03-18 00:50:40 +00:00
UPDATING.64BTT Add a tip for people who are using database-related ports on a sparc64 2004-03-17 01:59:47 +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