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