FreeBSD src
Go to file
Bill Paul 134a826b50 Unbreak slot_irq_handler(). The problem here is that slot_irq_handler()
abuses its argument, which is supposed to be an integer unit number, as
a pointer to the head of the 'struct slot' list. When this code was
hacked^Wupdated for newbus, a new mechanism for registering slot_irq_handler()
was put in place and the significance of the unit number was overlooked.
When registering an interrupt, we have both device_id and unit. The unit
number is passed as 'unit' but /sys/i386/usa/intr_machdep.c:register_intr()
drops unit on the floor and uses device_id instead. Since pccard_alloc_intr()
always sets device_id to 0, this means the unit number is always zero, and
slot_irq_handler() is always called with 0, which becomes a NULL pointer
which slot_irq_handler() tries to dereference and the kernel explodes.

Result: if you assign a PCMCIA driver in the kernel config file like this:

device wi0 at isa? port? irq?

Then the system will panic the moment a PCMCIA device is attached and
an interrupt is triggered.

The quick fix: make pccard_alloc_intr() pass the unit number as both
the device_id and unit arguments to register_pcic_intr(). The correct fix
would be to rewrite /sys/pccard to be less disgusting.
1999-05-04 15:43:02 +00:00
bin This Implements the mumbled about "Jail" feature. 1999-04-28 11:38:52 +00:00
contrib GC some unused files from gdb and add them to the exclude list for future 1999-05-03 20:50:12 +00:00
crypto MF libexec/telnetd: Determine the host name using an array size of 1999-04-08 21:39:34 +00:00
etc Spelling correction. 1999-05-04 13:51:56 +00:00
games Round two of MetBSD games merges. 1999-05-03 02:08:31 +00:00
gnu _G_USING_THUNKS probably applies to a.out too. 1999-05-02 21:22:50 +00:00
include Part of routed upgrade. 1999-05-02 13:20:38 +00:00
kerberos5 Link everything against libcrypt. ELF builds complain without it. 1999-01-25 06:49:43 +00:00
kerberosIV Link everything against libcrypt. ELF builds complain without it. 1999-01-25 06:49:43 +00:00
lib Add missing ``.''. 1999-05-04 10:56:13 +00:00
libexec More egcs warning fixes: 1999-04-25 22:23:38 +00:00
release Style fix: make the indentation consistent. 1999-05-04 15:33:38 +00:00
sbin Fix typos. 1999-05-04 11:34:33 +00:00
secure Typo in comment. 1999-04-25 13:14:36 +00:00
share FreeBSD-3.0 is a snapshot from -current, while 3.1 and 3.2 1999-05-02 16:23:53 +00:00
sys Unbreak slot_irq_handler(). The problem here is that slot_irq_handler() 1999-05-04 15:43:02 +00:00
tools Move the proper set of libraries. 1999-04-05 21:41:56 +00:00
usr.bin Clarify when the user gets a prompt for the old password, and that 1999-05-03 00:56:05 +00:00
usr.sbin Activate pccardc.8. 1999-05-03 11:20:15 +00:00
COPYRIGHT
Makefile Change !defined(NOAOUT) knob to defined(WANT_AOUT). 1999-03-29 10:59:53 +00:00
Makefile.inc0 Change !defined(NOAOUT) knob to defined(WANT_AOUT). 1999-03-29 10:59:53 +00:00
Makefile.inc1 Document NO_FORTRAN. 1999-05-03 17:54:59 +00:00
Makefile.upgrade Set X11BASE to something deliberately bogus in elf_buildworld so that 1999-03-23 08:09:25 +00:00
README No more src/lkm dir... 1999-01-06 14:02:35 +00:00
UPDATING Add two recent developments: 1999-04-28 05:18:46 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on: $Id: README,v 1.13 1998/09/13 09:38:34 markm Exp $

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 and the contents of /etc.  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 with config(8) is a somewhat more involved process,
documentation for which can be found at:
   http://www.freebsd.org/handbook/kernelconfig.html
And in the config(8) man page.

The sample kernel configuration files reside in the sys/i386/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 LINT contains entries for all possible devices, not
just those commonly used, and is meant more as a general reference
than an actual kernel configuration file (a kernel built from it
wouldn't even run).


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

contrib		Packages contributed by 3rd parties.

crypto		Export controlled 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.

kerberosIV	Kerberos package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

sbin		System commands.

secure		DES and DES-related utilities - NOT FOR EXPORT!

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/handbook/synching.html