xref: /original-bsd/sys/hp300/DOC/Options (revision 333da485)
1Here is a list of hp300 specific kernel compilation options and what they
2mean:
3
4HAVEVAC
5	Compiles in support for virtually addressed cache (VAC) found on
6	hp320 and 350 machines.  Should only be defined when HP320 and/or
7	HP350 is.
8
9HP320
10	Support for old hp320 machines: 16mhz 68020, HP MMU, 16mhz 68881
11	and VAC.  Compiles in support for a VAC, HP MMU, and the 98620A
12	16-bit DMA channel.  Forces the definition of HAVEVAC.
13
14HP350
15	Support for old hp350 machines: 25mhz 68020, HP MMU, 20mhz 68881
16	and VAC.  Compiles in support for a VAC and the HP MMU.  Differs
17	from HP320 in that it has no support for 16-bit DMA controller.
18	Forces the definition of HAVEVAC.
19
20HP330
21	Support for old hp330 (and 318/319) machines: 16mhz 68020, 68551 PMMU
22	and 16mhz 68881.  Compiles in support for PMMU.
23
24HP360
25	Support for old hp360 (and 340) machines: 25mhz 68030+MMU and 25mhz
26	68882.  Compiles in support for PMMU and 68030.  Differs from HP330
27	in support for 68030 on-chip data cache.
28
29HP370
30	Support for old hp370 (and current 345/375/400) machines: 33 (50) mhz
31	68030+MMU and 33 (50) mhz 68882.  Compiles in support for PMMU, 68030
32	and off-chip physically addressed cache.  Differs from 360 in only one
33	place, in dealing with flushing the external cache.
34
35HP380
36	Support for "current" hp380/425 (and 433) machines: 25 (33) mhz 68040
37	with MMU/FPU.  Compiles in support for 68040.
38
39HPFPLIB
40	Compiles in support to link with HP-UX's version of Motorola's 68040
41	FP emulation library (hp300/hpux_float.o).  Kernel will build and run
42	without this option, but many binaries will core dump.  Should not be
43	defined unless HP380 is.
44
45
46USELEDS
47	Twinkle the hp4xx front panel (or hp3xx internal) LEDs in the HP
48	designated way.  Somewhat frivolous, but the heartbeat LED is
49	useful to see if your machine is alive.
50
51PANICBUTTON
52	Compiles in code which will enable a "force-crash" HIL keyboard
53	sequence.  When the Reset key is typed twice in succession (within
54	half a second) the kernel will panic.  Note that the HIL Reset key
55	sends a NMI to the processor which will get the CPUs attention no
56	matter what it is doing (i.e. as long as it isn't halted).  Alas,
57	also note that the NMI is only sent when the keyboard is in "cooked"
58	(ITE) mode.  If it is in "raw" mode (i.e. X-server is running) the
59	Reset key is just another keypress event.  A cheezy substitute in
60	this case is holding down the upper right-most unlabeled key and
61	then pressing the unlabeled key to its left.  Note that this only
62	works if HIL (level 1) interrupts are not masked.
63
64DEBUG
65	Compiles in a variety of consistency checks and debug printfs
66	throughout the hp300 MD code and device drivers.
67
68HPUXCOMPAT
69	Enables HP-UX binary compatibility mode.  Allows a variety of
70	"recent" HP-UX binaries to be run unchanged.  Due to the
71	evolutionary and "as-needed" nature of this code, "recent" is
72	anywhere from release 6.2 to 8.0 of HP-UX.  It will run 8.0
73	shared-library binaries (assuming all the necessary shared-libraries
74	are installed in the filesystem).
75
76COMPAT_OHPUX
77	Compile in old 4.2-ish HP-UX (pre-6.0?) compatibility code.
78
79FPCOPROC
80	Compile in code to support the 68881 and above FPU.  Should always
81	be defined, since all supported SPUs have one.  Don't even know if
82	it will compile, much less work,  without this option.  Defined in
83	the prototype makefile (hp300/conf/Makefile.hp300).
84
85DCMSTATS
86	Compile in code to collect a variety of transmit/receive statistics
87	for the 98642 4-port MUX.
88
89WAITHIST
90	Compile in code to collect statistics about the distribution of
91	wait-times for various busy waits in the SCSI host-adaptor driver.
92
93STACKCHECK
94	Enables two types of kernel stack checking in hp300/hp300/locore.s:
95	1. stack "overflow".  On every clock interrupt we ensure that
96	   the current kernel stack has not grown into the user struct
97	   page, i.e. size exceeded UPAGES-1 pages.
98	2. stack "underflow".  Before every rte to user mode we ensure
99	   that we will be exactly at the base of the stack after the
100	   exception frame has been popped.
101	This option can degrade performance considerably, use it only if
102	you suspect a problem with kernel stacks.
103
104SCSI_REVPRI
105	Changes autoconf to start matching logical SCSI devices starting
106	at slave 6 and working backwards instead of starting at slave 0
107	and working up.  Later releases of the HP boot ROM search for
108	boot devices in this manner.  This is apparently the order in
109	which priority is given to slaves on the host adaptor.  Define
110	this if you use wildcarding and want to stay in sync with the
111	boot ROM's strategy.
112
113MAPPEDCOPY
114	Use page remapping to do large copyin/copyouts.  When defined
115	the default is to use mapped copy for operations on one page
116	or more except on machines with virtually-indexed caches.
117	See initcpu() in machdep.c
118
119BUFFERS_UNMANAGED
120	Set up the buffer cache "below" the machine independent VM.
121	Normally, in startup() we use vm_map operations to initially
122	assign physical memory to the buffers.  This creates a map with
123	a huge number of map entries (twice the number of buffers)
124	which serve no purpose since remaining buffer operations
125	(i.e. pagemove) work below the MI layer anyway.  Defining this
126	symbol will cause startup() to use pmap operations to map the
127	initial pages leaving the buffer_map one big entry.
128