1*9f6b8c4dSad$NetBSD: Options,v 1.10 2007/12/31 13:38:48 ad Exp $ 2132b4143Scgd 3ef8c1b68SmycroftHere is a list of hp300 specific kernel compilation options and what they 4ef8c1b68Smycroftmean: 5ef8c1b68Smycroft 6ef8c1b68SmycroftHAVEVAC 7ef8c1b68Smycroft Compiles in support for virtually addressed cache (VAC) found on 8ef8c1b68Smycroft hp320 and 350 machines. Should only be defined when HP320 and/or 9ef8c1b68Smycroft HP350 is. 10ef8c1b68Smycroft 11ef8c1b68SmycroftHP320 12a1f606d3Slukem Support for old hp320 machines: 16 MHz 68020, HP MMU, 16 MHz 68881 13ef8c1b68Smycroft and VAC. Compiles in support for a VAC, HP MMU, and the 98620A 14ef8c1b68Smycroft 16-bit DMA channel. Forces the definition of HAVEVAC. 15ef8c1b68Smycroft 16ef8c1b68SmycroftHP350 17a1f606d3Slukem Support for old hp350 machines: 25 MHz 68020, HP MMU, 20 MHz 68881 18ef8c1b68Smycroft and VAC. Compiles in support for a VAC and the HP MMU. Differs 19ef8c1b68Smycroft from HP320 in that it has no support for 16-bit DMA controller. 20ef8c1b68Smycroft Forces the definition of HAVEVAC. 21ef8c1b68Smycroft 22ef8c1b68SmycroftHP330 23a1f606d3Slukem Support for old hp330 (and 318/319) machines: 16 MHz 68020, 68851 PMMU 24a1f606d3Slukem and 16 MHz 68881. Compiles in support for PMMU. 25ef8c1b68Smycroft 2605c0e704ScarrelHP340 27ef8c1b68SmycroftHP360 28a1f606d3Slukem Support for old 340 and hp360 machines: 25 MHz 68030+MMU and 25 MHz 29ef8c1b68Smycroft 68882. Compiles in support for PMMU and 68030. Differs from HP330 30ef8c1b68Smycroft in support for 68030 on-chip data cache. 31ef8c1b68Smycroft 32ef8c1b68SmycroftHP370 33a1f606d3Slukem Support for old hp370 (and current 345/375/400) machines: 33 (50) MHz 34a1f606d3Slukem 68030+MMU and 33 (50) MHz 68882. Compiles in support for PMMU, 68030 35ef8c1b68Smycroft and off-chip physically addressed cache. Differs from 360 in only one 36ef8c1b68Smycroft place, in dealing with flushing the external cache. 37ef8c1b68Smycroft 38ef8c1b68SmycroftHP380 39a1f606d3Slukem Support for "current" hp380/425 (and 433) machines: 25 (33) MHz 68040 40ef8c1b68Smycroft with MMU/FPU. Compiles in support for 68040. 41ef8c1b68Smycroft 42923bab6dSmycroftFPSP 43923bab6dSmycroft Compiles in support to link with Motorola's 68040 FP emulation 44923bab6dSmycroft library. Kernel will build and run without this option, but many 45923bab6dSmycroft binaries will core dump. Should not be defined unless HP380 is. 46ef8c1b68Smycroft 47ef8c1b68Smycroft 48ef8c1b68SmycroftUSELEDS 49ef8c1b68Smycroft Twinkle the hp4xx front panel (or hp3xx internal) LEDs in the HP 50ef8c1b68Smycroft designated way. Somewhat frivolous, but the heartbeat LED is 51ef8c1b68Smycroft useful to see if your machine is alive. 52ef8c1b68Smycroft 53ef8c1b68SmycroftPANICBUTTON 54ef8c1b68Smycroft Compiles in code which will enable a "force-crash" HIL keyboard 55ef8c1b68Smycroft sequence. When the Reset key is typed twice in succession (within 56ef8c1b68Smycroft half a second) the kernel will panic. Note that the HIL Reset key 57ef8c1b68Smycroft sends a NMI to the processor which will get the CPUs attention no 58ef8c1b68Smycroft matter what it is doing (i.e. as long as it isn't halted). Alas, 59ef8c1b68Smycroft also note that the NMI is only sent when the keyboard is in "cooked" 60ef8c1b68Smycroft (ITE) mode. If it is in "raw" mode (i.e. X-server is running) the 61ef8c1b68Smycroft Reset key is just another keypress event. A cheezy substitute in 62ef8c1b68Smycroft this case is holding down the upper right-most unlabeled key and 63ef8c1b68Smycroft then pressing the unlabeled key to its left. Note that this only 64ef8c1b68Smycroft works if HIL (level 1) interrupts are not masked. 65ef8c1b68Smycroft 66ef8c1b68SmycroftDEBUG 67ad67e041Schristos Compiles in a variety of consistency checks and debug printfs 68ef8c1b68Smycroft throughout the hp300 MD code and device drivers. 69ef8c1b68Smycroft 70ef8c1b68SmycroftDCMSTATS 71ef8c1b68Smycroft Compile in code to collect a variety of transmit/receive statistics 72ef8c1b68Smycroft for the 98642 4-port MUX. 73ef8c1b68Smycroft 74ef8c1b68SmycroftWAITHIST 75ef8c1b68Smycroft Compile in code to collect statistics about the distribution of 76ef8c1b68Smycroft wait-times for various busy waits in the SCSI host-adaptor driver. 77ef8c1b68Smycroft 78ef8c1b68SmycroftSTACKCHECK 79ef8c1b68Smycroft Enables two types of kernel stack checking in hp300/hp300/locore.s: 80ef8c1b68Smycroft 1. stack "overflow". On every clock interrupt we ensure that 81ef8c1b68Smycroft the current kernel stack has not grown into the user struct 82ef8c1b68Smycroft page, i.e. size exceeded UPAGES-1 pages. 83ef8c1b68Smycroft 2. stack "underflow". Before every rte to user mode we ensure 84ef8c1b68Smycroft that we will be exactly at the base of the stack after the 85ef8c1b68Smycroft exception frame has been popped. 86ef8c1b68Smycroft This option can degrade performance considerably, use it only if 87ef8c1b68Smycroft you suspect a problem with kernel stacks. 88ef8c1b68Smycroft 89ef8c1b68SmycroftSCSI_REVPRI 90ef8c1b68Smycroft Changes autoconf to start matching logical SCSI devices starting 91ef8c1b68Smycroft at slave 6 and working backwards instead of starting at slave 0 92ef8c1b68Smycroft and working up. Later releases of the HP boot ROM search for 93ef8c1b68Smycroft boot devices in this manner. This is apparently the order in 94ef8c1b68Smycroft which priority is given to slaves on the host adaptor. Define 95ef8c1b68Smycroft this if you use wildcarding and want to stay in sync with the 96ef8c1b68Smycroft boot ROM's strategy. 97ef8c1b68Smycroft 98ef8c1b68SmycroftMAPPEDCOPY 99ef8c1b68Smycroft Use page remapping to do large copyin/copyouts. When defined 100ef8c1b68Smycroft the default is to use mapped copy for operations on one page 101ef8c1b68Smycroft or more except on machines with virtually-indexed caches. 102ef8c1b68Smycroft See initcpu() in machdep.c 103ef8c1b68Smycroft 104ef8c1b68SmycroftBUFFERS_UNMANAGED 105ef8c1b68Smycroft Set up the buffer cache "below" the machine independent VM. 106ef8c1b68Smycroft Normally, in startup() we use vm_map operations to initially 107ef8c1b68Smycroft assign physical memory to the buffers. This creates a map with 108ef8c1b68Smycroft a huge number of map entries (twice the number of buffers) 109ef8c1b68Smycroft which serve no purpose since remaining buffer operations 110ef8c1b68Smycroft (i.e. pagemove) work below the MI layer anyway. Defining this 111ef8c1b68Smycroft symbol will cause startup() to use pmap operations to map the 112ef8c1b68Smycroft initial pages leaving the buffer_map one big entry. 113