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