163559SmckusickHere is a list of hp300 specific kernel compilation options and what they 263559Smckusickmean: 363559Smckusick 463559SmckusickHAVEVAC 563559Smckusick Compiles in support for virtually addressed cache (VAC) found on 663559Smckusick hp320 and 350 machines. Should only be defined when HP320 and/or 763559Smckusick HP350 is. 863559Smckusick 963559SmckusickHP320 1063559Smckusick Support for old hp320 machines: 16mhz 68020, HP MMU, 16mhz 68881 1163559Smckusick and VAC. Compiles in support for a VAC, HP MMU, and the 98620A 1263559Smckusick 16-bit DMA channel. Forces the definition of HAVEVAC. 1363559Smckusick 1463559SmckusickHP350 1563559Smckusick Support for old hp350 machines: 25mhz 68020, HP MMU, 20mhz 68881 1663559Smckusick and VAC. Compiles in support for a VAC and the HP MMU. Differs 1763559Smckusick from HP320 in that it has no support for 16-bit DMA controller. 1863559Smckusick Forces the definition of HAVEVAC. 1963559Smckusick 2063559SmckusickHP330 2163559Smckusick Support for old hp330 (and 318/319) machines: 16mhz 68020, 68551 PMMU 2263559Smckusick and 16mhz 68881. Compiles in support for PMMU. 2363559Smckusick 2463559SmckusickHP360 2563559Smckusick Support for old hp360 (and 340) machines: 25mhz 68030+MMU and 25mhz 2663559Smckusick 68882. Compiles in support for PMMU and 68030. Differs from HP330 2763559Smckusick in support for 68030 on-chip data cache. 2863559Smckusick 2963559SmckusickHP370 3063559Smckusick Support for old hp370 (and current 345/375/400) machines: 33 (50) mhz 3163559Smckusick 68030+MMU and 33 (50) mhz 68882. Compiles in support for PMMU, 68030 3263559Smckusick and off-chip physically addressed cache. Differs from 360 in only one 3363559Smckusick place, in dealing with flushing the external cache. 3463559Smckusick 3563559SmckusickHP380 3663559Smckusick Support for "current" hp380/425 (and 433) machines: 25 (33) mhz 68040 3763559Smckusick with MMU/FPU. Compiles in support for 68040. 3863559Smckusick 3963559SmckusickHPFPLIB 4063559Smckusick Compiles in support to link with HP-UX's version of Motorola's 68040 4163559Smckusick FP emulation library (hp300/hpux_float.o). Kernel will build and run 4263559Smckusick without this option, but many binaries will core dump. Should not be 4363559Smckusick defined unless HP380 is. 4463559Smckusick 4563559Smckusick 4663559SmckusickUSELEDS 4763559Smckusick Twinkle the hp4xx front panel (or hp3xx internal) LEDs in the HP 4863559Smckusick designated way. Somewhat frivolous, but the heartbeat LED is 4963559Smckusick useful to see if your machine is alive. 5063559Smckusick 5163559SmckusickPANICBUTTON 5263559Smckusick Compiles in code which will enable a "force-crash" HIL keyboard 5363559Smckusick sequence. When the Reset key is typed twice in succession (within 5463559Smckusick half a second) the kernel will panic. Note that the HIL Reset key 5563559Smckusick sends a NMI to the processor which will get the CPUs attention no 5663559Smckusick matter what it is doing (i.e. as long as it isn't halted). Alas, 5763559Smckusick also note that the NMI is only sent when the keyboard is in "cooked" 5863559Smckusick (ITE) mode. If it is in "raw" mode (i.e. X-server is running) the 5963559Smckusick Reset key is just another keypress event. A cheezy substitute in 6063559Smckusick this case is holding down the upper right-most unlabeled key and 6163559Smckusick then pressing the unlabeled key to its left. Note that this only 6263559Smckusick works if HIL (level 1) interrupts are not masked. 6363559Smckusick 6463559SmckusickDEBUG 6563559Smckusick Compiles in a variety of consistency checks and debug printfs 6663559Smckusick throughout the hp300 MD code and device drivers. 6763559Smckusick 6863559SmckusickHPUXCOMPAT 6963559Smckusick Enables HP-UX binary compatibility mode. Allows a variety of 7063559Smckusick "recent" HP-UX binaries to be run unchanged. Due to the 7163559Smckusick evolutionary and "as-needed" nature of this code, "recent" is 7263559Smckusick anywhere from release 6.2 to 8.0 of HP-UX. It will run 8.0 7363559Smckusick shared-library binaries (assuming all the necessary shared-libraries 7463559Smckusick are installed in the filesystem). 7563559Smckusick 7663559SmckusickCOMPAT_OHPUX 7763559Smckusick Compile in old 4.2-ish HP-UX (pre-6.0?) compatibility code. 7863559Smckusick 7963559SmckusickFPCOPROC 8063559Smckusick Compile in code to support the 68881 and above FPU. Should always 8163559Smckusick be defined, since all supported SPUs have one. Don't even know if 8263559Smckusick it will compile, much less work, without this option. Defined in 8363559Smckusick the prototype makefile (hp300/conf/Makefile.hp300). 8463559Smckusick 8563559SmckusickDCMSTATS 8663559Smckusick Compile in code to collect a variety of transmit/receive statistics 8763559Smckusick for the 98642 4-port MUX. 8863559Smckusick 8963559SmckusickWAITHIST 9063559Smckusick Compile in code to collect statistics about the distribution of 9163559Smckusick wait-times for various busy waits in the SCSI host-adaptor driver. 9263559Smckusick 9363559SmckusickSTACKCHECK 9463559Smckusick Enables two types of kernel stack checking in hp300/hp300/locore.s: 9563559Smckusick 1. stack "overflow". On every clock interrupt we ensure that 9663559Smckusick the current kernel stack has not grown into the user struct 9763559Smckusick page, i.e. size exceeded UPAGES-1 pages. 9863559Smckusick 2. stack "underflow". Before every rte to user mode we ensure 9963559Smckusick that we will be exactly at the base of the stack after the 10063559Smckusick exception frame has been popped. 10163559Smckusick This option can degrade performance considerably, use it only if 10263559Smckusick you suspect a problem with kernel stacks. 103*65649Shibler 104*65649ShiblerSCSI_REVPRI 105*65649Shibler Changes autoconf to start matching logical SCSI devices starting 106*65649Shibler at slave 6 and working backwards instead of starting at slave 0 107*65649Shibler and working up. Later releases of the HP boot ROM search for 108*65649Shibler boot devices in this manner. This is apparently the order in 109*65649Shibler which priority is given to slaves on the host adaptor. Define 110*65649Shibler this if you use wildcarding and want to stay in sync with the 111*65649Shibler boot ROM's strategy. 112*65649Shibler 113*65649ShiblerMAPPEDCOPY 114*65649Shibler Use page remapping to do large copyin/copyouts. When defined 115*65649Shibler the default is to use mapped copy for operations on one page 116*65649Shibler or more except on machines with virtually-indexed caches. 117*65649Shibler See initcpu() in machdep.c 118*65649Shibler 119*65649ShiblerBUFFERS_UNMANAGED 120*65649Shibler Set up the buffer cache "below" the machine independent VM. 121*65649Shibler Normally, in startup() we use vm_map operations to initially 122*65649Shibler assign physical memory to the buffers. This creates a map with 123*65649Shibler a huge number of map entries (twice the number of buffers) 124*65649Shibler which serve no purpose since remaining buffer operations 125*65649Shibler (i.e. pagemove) work below the MI layer anyway. Defining this 126*65649Shibler symbol will cause startup() to use pmap operations to map the 127*65649Shibler initial pages leaving the buffer_map one big entry. 128