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