Options revision 1.3
11.3Scgd$NetBSD: Options,v 1.3 1994/10/26 07:22:52 cgd Exp $
21.3Scgd
31.1SmycroftHere is a list of hp300 specific kernel compilation options and what they
41.1Smycroftmean:
51.1Smycroft
61.1SmycroftHAVEVAC
71.1Smycroft	Compiles in support for virtually addressed cache (VAC) found on
81.1Smycroft	hp320 and 350 machines.  Should only be defined when HP320 and/or
91.1Smycroft	HP350 is.
101.1Smycroft
111.1SmycroftHP320
121.1Smycroft	Support for old hp320 machines: 16mhz 68020, HP MMU, 16mhz 68881
131.1Smycroft	and VAC.  Compiles in support for a VAC, HP MMU, and the 98620A
141.1Smycroft	16-bit DMA channel.  Forces the definition of HAVEVAC.
151.1Smycroft
161.1SmycroftHP350
171.1Smycroft	Support for old hp350 machines: 25mhz 68020, HP MMU, 20mhz 68881
181.1Smycroft	and VAC.  Compiles in support for a VAC and the HP MMU.  Differs
191.1Smycroft	from HP320 in that it has no support for 16-bit DMA controller.
201.1Smycroft	Forces the definition of HAVEVAC.
211.1Smycroft
221.1SmycroftHP330
231.1Smycroft	Support for old hp330 (and 318/319) machines: 16mhz 68020, 68551 PMMU
241.1Smycroft	and 16mhz 68881.  Compiles in support for PMMU.
251.1Smycroft
261.1SmycroftHP360
271.1Smycroft	Support for old hp360 (and 340) machines: 25mhz 68030+MMU and 25mhz
281.1Smycroft	68882.  Compiles in support for PMMU and 68030.  Differs from HP330
291.1Smycroft	in support for 68030 on-chip data cache.
301.1Smycroft
311.1SmycroftHP370
321.1Smycroft	Support for old hp370 (and current 345/375/400) machines: 33 (50) mhz
331.1Smycroft	68030+MMU and 33 (50) mhz 68882.  Compiles in support for PMMU, 68030
341.1Smycroft	and off-chip physically addressed cache.  Differs from 360 in only one
351.1Smycroft	place, in dealing with flushing the external cache.
361.1Smycroft
371.1SmycroftHP380
381.1Smycroft	Support for "current" hp380/425 (and 433) machines: 25 (33) mhz 68040
391.1Smycroft	with MMU/FPU.  Compiles in support for 68040.
401.1Smycroft
411.2SmycroftFPSP
421.2Smycroft	Compiles in support to link with Motorola's 68040 FP emulation
431.2Smycroft	library.  Kernel will build and run without this option, but many
441.2Smycroft	binaries will core dump.  Should not be defined unless HP380 is.
451.1Smycroft
461.1Smycroft
471.1SmycroftUSELEDS
481.1Smycroft	Twinkle the hp4xx front panel (or hp3xx internal) LEDs in the HP
491.1Smycroft	designated way.  Somewhat frivolous, but the heartbeat LED is
501.1Smycroft	useful to see if your machine is alive.
511.1Smycroft
521.1SmycroftPANICBUTTON
531.1Smycroft	Compiles in code which will enable a "force-crash" HIL keyboard
541.1Smycroft	sequence.  When the Reset key is typed twice in succession (within
551.1Smycroft	half a second) the kernel will panic.  Note that the HIL Reset key
561.1Smycroft	sends a NMI to the processor which will get the CPUs attention no
571.1Smycroft	matter what it is doing (i.e. as long as it isn't halted).  Alas,
581.1Smycroft	also note that the NMI is only sent when the keyboard is in "cooked"
591.1Smycroft	(ITE) mode.  If it is in "raw" mode (i.e. X-server is running) the
601.1Smycroft	Reset key is just another keypress event.  A cheezy substitute in
611.1Smycroft	this case is holding down the upper right-most unlabeled key and
621.1Smycroft	then pressing the unlabeled key to its left.  Note that this only
631.1Smycroft	works if HIL (level 1) interrupts are not masked.
641.1Smycroft
651.1SmycroftDEBUG
661.1Smycroft	Compiles in a variety of consistency checks and debug printfs
671.1Smycroft	throughout the hp300 MD code and device drivers.
681.1Smycroft
691.1SmycroftCOMPAT_HPUX
701.1Smycroft	Enables HP-UX binary compatibility mode.  Allows a variety of
711.1Smycroft	"recent" HP-UX binaries to be run unchanged.  Due to the
721.1Smycroft	evolutionary and "as-needed" nature of this code, "recent" is
731.1Smycroft	anywhere from release 6.2 to 8.0 of HP-UX.  It will run 8.0
741.1Smycroft	shared-library binaries (assuming all the necessary shared-libraries
751.1Smycroft	are installed in the filesystem).
761.1Smycroft
771.1SmycroftCOMPAT_OHPUX
781.1Smycroft	Compile in old 4.2-ish HP-UX (pre-6.0?) compatibility code.
791.1Smycroft
801.1SmycroftFPCOPROC
811.1Smycroft	Compile in code to support the 68881 and above FPU.  Should always
821.1Smycroft	be defined, since all supported SPUs have one.  Don't even know if
831.1Smycroft	it will compile, much less work,  without this option.  Defined in
841.1Smycroft	the prototype makefile (hp300/conf/Makefile.hp300).
851.1Smycroft
861.1SmycroftDCMSTATS
871.1Smycroft	Compile in code to collect a variety of transmit/receive statistics
881.1Smycroft	for the 98642 4-port MUX.
891.1Smycroft
901.1SmycroftWAITHIST
911.1Smycroft	Compile in code to collect statistics about the distribution of
921.1Smycroft	wait-times for various busy waits in the SCSI host-adaptor driver.
931.1Smycroft
941.1SmycroftSTACKCHECK
951.1Smycroft	Enables two types of kernel stack checking in hp300/hp300/locore.s:
961.1Smycroft	1. stack "overflow".  On every clock interrupt we ensure that
971.1Smycroft	   the current kernel stack has not grown into the user struct
981.1Smycroft	   page, i.e. size exceeded UPAGES-1 pages.
991.1Smycroft	2. stack "underflow".  Before every rte to user mode we ensure
1001.1Smycroft	   that we will be exactly at the base of the stack after the
1011.1Smycroft	   exception frame has been popped.
1021.1Smycroft	This option can degrade performance considerably, use it only if
1031.1Smycroft	you suspect a problem with kernel stacks.
1041.1Smycroft
1051.1SmycroftSCSI_REVPRI
1061.1Smycroft	Changes autoconf to start matching logical SCSI devices starting
1071.1Smycroft	at slave 6 and working backwards instead of starting at slave 0
1081.1Smycroft	and working up.  Later releases of the HP boot ROM search for
1091.1Smycroft	boot devices in this manner.  This is apparently the order in
1101.1Smycroft	which priority is given to slaves on the host adaptor.  Define
1111.1Smycroft	this if you use wildcarding and want to stay in sync with the
1121.1Smycroft	boot ROM's strategy.
1131.1Smycroft
1141.1SmycroftMAPPEDCOPY
1151.1Smycroft	Use page remapping to do large copyin/copyouts.  When defined
1161.1Smycroft	the default is to use mapped copy for operations on one page
1171.1Smycroft	or more except on machines with virtually-indexed caches.
1181.1Smycroft	See initcpu() in machdep.c
1191.1Smycroft
1201.1SmycroftBUFFERS_UNMANAGED
1211.1Smycroft	Set up the buffer cache "below" the machine independent VM.
1221.1Smycroft	Normally, in startup() we use vm_map operations to initially
1231.1Smycroft	assign physical memory to the buffers.  This creates a map with
1241.1Smycroft	a huge number of map entries (twice the number of buffers)
1251.1Smycroft	which serve no purpose since remaining buffer operations
1261.1Smycroft	(i.e. pagemove) work below the MI layer anyway.  Defining this
1271.1Smycroft	symbol will cause startup() to use pmap operations to map the
1281.1Smycroft	initial pages leaving the buffer_map one big entry.
129