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