## Installing the FreeBSD SMP Kernel

### Important facts:

- The FreeBSD SMP kernel is BETA LEVEL software, use with caution!
- The motherboard must be Intel MP Spec. 1.1 or 1.4 compatible.
- The SMP kernel WILL NOT WORK on a uniprocessor motherboard.
- Be sure to check the Rogue hardware page for any special configuration options needed for your hardware.

The FreeBSD Symmetric MultiProcessor kernel is now a stardard part of 3.0-current. For the latest kernel config options refer to src/sys/i386/conf/LINT. There is a ready-made file for creating a generic SMP kernel: src/sys/i386/conf/SMP-GENERIC.

For general information on building new kernels refer to the FreeBSD Handbook and other documentation.

#### Currently the permissible options for an SMP kernel include:

# Enables building of a Symmetric MultiProcessor kernel:
options SMP
options APIC_IO
#
# Optional:
#
# The number of CPUs on the motherboard, defaults to 2:
options NCPU=2
# The number of busses, defaults to 4:
options NBUS=4
# The number of IO APICs on the motherboard, defaults to 1.
options NAPIC=1
# The total number of INTs provided by the motherboard, defaults to 24:
options NINTR=24

You can get a concise list of the appropriate options for your hardware by running /usr/sbin/mptable on your SMP capable system. Note that this can be run from a UP (ie non SMP) kernel. Do 'man mptable' for details.

It is possible to set kern.smp_active to 1 after starting the APs if you want to throttle down to the main processor.