$NetBSD: Options,v 1.7 1997/09/12 08:04:12 mycroft Exp $ 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. HP340 HP360 Support for old 340 and hp360 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. FPSP Compiles in support to link with Motorola's 68040 FP emulation library. 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. COMPAT_HPUX 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. 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. SCSI_REVPRI Changes autoconf to start matching logical SCSI devices starting at slave 6 and working backwards instead of starting at slave 0 and working up. Later releases of the HP boot ROM search for boot devices in this manner. This is apparently the order in which priority is given to slaves on the host adaptor. Define this if you use wildcarding and want to stay in sync with the boot ROM's strategy. MAPPEDCOPY Use page remapping to do large copyin/copyouts. When defined the default is to use mapped copy for operations on one page or more except on machines with virtually-indexed caches. See initcpu() in machdep.c BUFFERS_UNMANAGED Set up the buffer cache "below" the machine independent VM. Normally, in startup() we use vm_map operations to initially assign physical memory to the buffers. This creates a map with a huge number of map entries (twice the number of buffers) which serve no purpose since remaining buffer operations (i.e. pagemove) work below the MI layer anyway. Defining this symbol will cause startup() to use pmap operations to map the initial pages leaving the buffer_map one big entry.