4.4BSD/usr/src/sys/hp300/DOC/Options

Here is a list of hp300 specific kernel compilation options and what they
mean:

HAVEVAC
	Compiles in support for virtually addressed cache (VAC) found on
	hp320 and 350 machines.  Should only be defined when HP320 and/or
	HP350 is.

HP320
	Support for old hp320 machines: 16mhz 68020, HP MMU, 16mhz 68881
	and VAC.  Compiles in support for a VAC, HP MMU, and the 98620A
	16-bit DMA channel.  Forces the definition of HAVEVAC.

HP350
	Support for old hp350 machines: 25mhz 68020, HP MMU, 20mhz 68881
	and VAC.  Compiles in support for a VAC and the HP MMU.  Differs
	from HP320 in that it has no support for 16-bit DMA controller.
	Forces the definition of HAVEVAC.

HP330
	Support for old hp330 (and 318/319) machines: 16mhz 68020, 68551 PMMU
	and 16mhz 68881.  Compiles in support for PMMU.

HP360
	Support for old hp360 (and 340) machines: 25mhz 68030+MMU and 25mhz
	68882.  Compiles in support for PMMU and 68030.  Differs from HP330
	in support for 68030 on-chip data cache.

HP370
	Support for old hp370 (and current 345/375/400) machines: 33 (50) mhz
	68030+MMU and 33 (50) mhz 68882.  Compiles in support for PMMU, 68030
	and off-chip physically addressed cache.  Differs from 360 in only one
	place, in dealing with flushing the external cache.

HP380
	Support for "current" hp380/425 (and 433) machines: 25 (33) mhz 68040
	with MMU/FPU.  Compiles in support for 68040.

HPFPLIB
	Compiles in support to link with HP-UX's version of Motorola's 68040
	FP emulation library (hp300/hpux_float.o).  Kernel will build and run
	without this option, but many binaries will core dump.  Should not be
	defined unless HP380 is.


USELEDS
	Twinkle the hp4xx front panel (or hp3xx internal) LEDs in the HP
	designated way.  Somewhat frivolous, but the heartbeat LED is
	useful to see if your machine is alive.

PANICBUTTON
	Compiles in code which will enable a "force-crash" HIL keyboard
	sequence.  When the Reset key is typed twice in succession (within
	half a second) the kernel will panic.  Note that the HIL Reset key
	sends a NMI to the processor which will get the CPUs attention no
	matter what it is doing (i.e. as long as it isn't halted).  Alas,
	also note that the NMI is only sent when the keyboard is in "cooked"
	(ITE) mode.  If it is in "raw" mode (i.e. X-server is running) the
	Reset key is just another keypress event.  A cheezy substitute in
	this case is holding down the upper right-most unlabeled key and
	then pressing the unlabeled key to its left.  Note that this only
	works if HIL (level 1) interrupts are not masked.

DEBUG
	Compiles in a variety of consistency checks and debug printfs
	throughout the hp300 MD code and device drivers.

HPUXCOMPAT
	Enables HP-UX binary compatibility mode.  Allows a variety of
	"recent" HP-UX binaries to be run unchanged.  Due to the
	evolutionary and "as-needed" nature of this code, "recent" is
	anywhere from release 6.2 to 8.0 of HP-UX.  It will run 8.0
	shared-library binaries (assuming all the necessary shared-libraries
	are installed in the filesystem).

COMPAT_OHPUX
	Compile in old 4.2-ish HP-UX (pre-6.0?) compatibility code.

FPCOPROC
	Compile in code to support the 68881 and above FPU.  Should always
	be defined, since all supported SPUs have one.  Don't even know if
	it will compile, much less work,  without this option.  Defined in
	the prototype makefile (hp300/conf/Makefile.hp300).

DCMSTATS
	Compile in code to collect a variety of transmit/receive statistics
	for the 98642 4-port MUX.

WAITHIST
	Compile in code to collect statistics about the distribution of
	wait-times for various busy waits in the SCSI host-adaptor driver.

STACKCHECK
	Enables two types of kernel stack checking in hp300/hp300/locore.s:
	1. stack "overflow".  On every clock interrupt we ensure that
	   the current kernel stack has not grown into the user struct
	   page, i.e. size exceeded UPAGES-1 pages.
	2. stack "underflow".  Before every rte to user mode we ensure
	   that we will be exactly at the base of the stack after the
	   exception frame has been popped.
	This option can degrade performance considerably, use it only if
	you suspect a problem with kernel stacks.