xref: /csrg-svn/sys/hp300/DOC/Options (revision 63559)
1*63559SmckusickHere is a list of hp300 specific kernel compilation options and what they
2*63559Smckusickmean:
3*63559Smckusick
4*63559SmckusickHAVEVAC
5*63559Smckusick	Compiles in support for virtually addressed cache (VAC) found on
6*63559Smckusick	hp320 and 350 machines.  Should only be defined when HP320 and/or
7*63559Smckusick	HP350 is.
8*63559Smckusick
9*63559SmckusickHP320
10*63559Smckusick	Support for old hp320 machines: 16mhz 68020, HP MMU, 16mhz 68881
11*63559Smckusick	and VAC.  Compiles in support for a VAC, HP MMU, and the 98620A
12*63559Smckusick	16-bit DMA channel.  Forces the definition of HAVEVAC.
13*63559Smckusick
14*63559SmckusickHP350
15*63559Smckusick	Support for old hp350 machines: 25mhz 68020, HP MMU, 20mhz 68881
16*63559Smckusick	and VAC.  Compiles in support for a VAC and the HP MMU.  Differs
17*63559Smckusick	from HP320 in that it has no support for 16-bit DMA controller.
18*63559Smckusick	Forces the definition of HAVEVAC.
19*63559Smckusick
20*63559SmckusickHP330
21*63559Smckusick	Support for old hp330 (and 318/319) machines: 16mhz 68020, 68551 PMMU
22*63559Smckusick	and 16mhz 68881.  Compiles in support for PMMU.
23*63559Smckusick
24*63559SmckusickHP360
25*63559Smckusick	Support for old hp360 (and 340) machines: 25mhz 68030+MMU and 25mhz
26*63559Smckusick	68882.  Compiles in support for PMMU and 68030.  Differs from HP330
27*63559Smckusick	in support for 68030 on-chip data cache.
28*63559Smckusick
29*63559SmckusickHP370
30*63559Smckusick	Support for old hp370 (and current 345/375/400) machines: 33 (50) mhz
31*63559Smckusick	68030+MMU and 33 (50) mhz 68882.  Compiles in support for PMMU, 68030
32*63559Smckusick	and off-chip physically addressed cache.  Differs from 360 in only one
33*63559Smckusick	place, in dealing with flushing the external cache.
34*63559Smckusick
35*63559SmckusickHP380
36*63559Smckusick	Support for "current" hp380/425 (and 433) machines: 25 (33) mhz 68040
37*63559Smckusick	with MMU/FPU.  Compiles in support for 68040.
38*63559Smckusick
39*63559SmckusickHPFPLIB
40*63559Smckusick	Compiles in support to link with HP-UX's version of Motorola's 68040
41*63559Smckusick	FP emulation library (hp300/hpux_float.o).  Kernel will build and run
42*63559Smckusick	without this option, but many binaries will core dump.  Should not be
43*63559Smckusick	defined unless HP380 is.
44*63559Smckusick
45*63559Smckusick
46*63559SmckusickUSELEDS
47*63559Smckusick	Twinkle the hp4xx front panel (or hp3xx internal) LEDs in the HP
48*63559Smckusick	designated way.  Somewhat frivolous, but the heartbeat LED is
49*63559Smckusick	useful to see if your machine is alive.
50*63559Smckusick
51*63559SmckusickPANICBUTTON
52*63559Smckusick	Compiles in code which will enable a "force-crash" HIL keyboard
53*63559Smckusick	sequence.  When the Reset key is typed twice in succession (within
54*63559Smckusick	half a second) the kernel will panic.  Note that the HIL Reset key
55*63559Smckusick	sends a NMI to the processor which will get the CPUs attention no
56*63559Smckusick	matter what it is doing (i.e. as long as it isn't halted).  Alas,
57*63559Smckusick	also note that the NMI is only sent when the keyboard is in "cooked"
58*63559Smckusick	(ITE) mode.  If it is in "raw" mode (i.e. X-server is running) the
59*63559Smckusick	Reset key is just another keypress event.  A cheezy substitute in
60*63559Smckusick	this case is holding down the upper right-most unlabeled key and
61*63559Smckusick	then pressing the unlabeled key to its left.  Note that this only
62*63559Smckusick	works if HIL (level 1) interrupts are not masked.
63*63559Smckusick
64*63559SmckusickDEBUG
65*63559Smckusick	Compiles in a variety of consistency checks and debug printfs
66*63559Smckusick	throughout the hp300 MD code and device drivers.
67*63559Smckusick
68*63559SmckusickHPUXCOMPAT
69*63559Smckusick	Enables HP-UX binary compatibility mode.  Allows a variety of
70*63559Smckusick	"recent" HP-UX binaries to be run unchanged.  Due to the
71*63559Smckusick	evolutionary and "as-needed" nature of this code, "recent" is
72*63559Smckusick	anywhere from release 6.2 to 8.0 of HP-UX.  It will run 8.0
73*63559Smckusick	shared-library binaries (assuming all the necessary shared-libraries
74*63559Smckusick	are installed in the filesystem).
75*63559Smckusick
76*63559SmckusickCOMPAT_OHPUX
77*63559Smckusick	Compile in old 4.2-ish HP-UX (pre-6.0?) compatibility code.
78*63559Smckusick
79*63559SmckusickFPCOPROC
80*63559Smckusick	Compile in code to support the 68881 and above FPU.  Should always
81*63559Smckusick	be defined, since all supported SPUs have one.  Don't even know if
82*63559Smckusick	it will compile, much less work,  without this option.  Defined in
83*63559Smckusick	the prototype makefile (hp300/conf/Makefile.hp300).
84*63559Smckusick
85*63559SmckusickDCMSTATS
86*63559Smckusick	Compile in code to collect a variety of transmit/receive statistics
87*63559Smckusick	for the 98642 4-port MUX.
88*63559Smckusick
89*63559SmckusickWAITHIST
90*63559Smckusick	Compile in code to collect statistics about the distribution of
91*63559Smckusick	wait-times for various busy waits in the SCSI host-adaptor driver.
92*63559Smckusick
93*63559SmckusickSTACKCHECK
94*63559Smckusick	Enables two types of kernel stack checking in hp300/hp300/locore.s:
95*63559Smckusick	1. stack "overflow".  On every clock interrupt we ensure that
96*63559Smckusick	   the current kernel stack has not grown into the user struct
97*63559Smckusick	   page, i.e. size exceeded UPAGES-1 pages.
98*63559Smckusick	2. stack "underflow".  Before every rte to user mode we ensure
99*63559Smckusick	   that we will be exactly at the base of the stack after the
100*63559Smckusick	   exception frame has been popped.
101*63559Smckusick	This option can degrade performance considerably, use it only if
102*63559Smckusick	you suspect a problem with kernel stacks.
103