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