LINT build test. Aggregated source code adjustments to bring most of the
[dragonfly.git] / sys / dev / video / pcvt / i386 / pcvt_conf.h
1 /*
2  * Copyright (c) 1999 Hellmuth Michaelis
3  *
4  * Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch.
5  *
6  * Copyright (c) 1992, 1994 Brian Dunford-Shore.
7  *
8  * All rights reserved.
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  * 1. Redistributions of source code must retain the above copyright
14  *    notice, this list of conditions and the following disclaimer.
15  * 2. Redistributions in binary form must reproduce the above copyright
16  *    notice, this list of conditions and the following disclaimer in the
17  *    documentation and/or other materials provided with the distribution.
18  * 3. All advertising materials mentioning features or use of this software
19  *    must display the following acknowledgement:
20  *      This product includes software developed by
21  *      Hellmuth Michaelis, Brian Dunford-Shore and Joerg Wunsch.
22  * 4. The name authors may not be used to endorse or promote products
23  *    derived from this software without specific prior written permission.
24  *
25  * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
26  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
27  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
28  * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
29  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
34  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35  */
36
37 /*---------------------------------------------------------------------------
38  *
39  *      pcvt_conf.h     VT220 driver global configuration file
40  *      ------------------------------------------------------
41  *
42  *      Last Edit-Date: [Mon Dec 27 14:09:58 1999]
43  *
44  * $FreeBSD: src/sys/i386/isa/pcvt/pcvt_conf.h,v 1.9 1999/12/30 16:17:08 hm Exp $
45  * $DragonFly: src/sys/dev/video/pcvt/i386/Attic/pcvt_conf.h,v 1.2 2003/06/17 04:28:38 dillon Exp $
46  *
47  *---------------------------------------------------------------------------*/
48
49 /*---------------------------------------------------------------------------
50  *
51  * from: Onno van der Linden    c/o   frank@fwi.uva.nl
52  *
53  * Here's an idea how to automatically detect the version of NetBSD pcvt is
54  * being compiled on:
55  *
56  * NetBSD 0.8 : NetBSD0_8 defined in <sys/param.h>
57  * NetBSD 0.9 : NetBSD0_9 defined in <sys/param.h>
58  * NetBSD 1.0 : NetBSD1_0 defined as 1 in <sys/param.h>
59  * NetBSD 1.0A: NetBSD1_0 defined as 2 in <sys/param.h>
60  *
61  * The NetBSDx_y defines are mutual exclusive.
62  *
63  * This leads to something like this in pcvt_hdr.h (#elif is possible too):
64  *
65  *---------------------------------------------------------------------------*/
66
67 #ifdef NetBSD0_8
68 #define PCVT_NETBSD 8
69 #endif
70
71 #ifdef NetBSD0_9
72 #define PCVT_NETBSD 9
73 #endif
74
75 #ifdef NetBSD1_0
76 #if NetBSD1_0 > 1
77 #define PCVT_NETBSD 199
78 #else
79 #define PCVT_NETBSD 100
80 #endif
81 #endif
82
83 /*---------------------------------------------------------------------------
84  * Note that each of the options below should rather be overriden by the
85  * kernel config file instead of this .h file - this allows for different
86  * definitions in different kernels compiled at the same machine
87  *
88  * The convention is as follows:
89  *
90  *      options "PCVT_FOO=1"  - enables the option
91  *      options "PCVT_FOO"    - is a synonym for the above
92  *      options "PCVT_FOO=0"  - disables the option
93  *
94  * omitting an option defaults to what is shown below
95  *
96  * exceptions from this rule are i.e.:
97  *
98  *      options "PCVT_NSCREENS=x"
99  *      options "PCVT_SCANSET=x"
100  *      options "PCVT_UPDATEFAST=x"
101  *      options "PCVT_UPDATESLOW=x"
102  *      options "PCVT_SYSBEEPF=x"
103  *
104  * which are always numeric!
105  *---------------------------------------------------------------------------*/
106
107 /* -------------------------------------------------------------------- */
108 /* -------------------- OPERATING SYSTEM ------------------------------ */
109 /* -------------------------------------------------------------------- */
110
111 /*
112  *  one of the following options must be set in the kernel config file:
113  *
114  *======================================================================*
115  *                      N e t B S D                                     *
116  *======================================================================*
117  *
118  *      options "PCVT_NETBSD=xxx" enables support for NetBSD
119  *
120  *      select:
121  *              PCVT_NETBSD =   9       for NetBSD 0.9
122  *              PCVT_NETBSD =  99       for PRE-1.0 NetBSD-current
123  *              PCVT_NETBSD = 100       for NetBSD 1.0
124  *              PCVT_NETBSD = 199       for PRE-2.0 NetBSD-current
125  *
126  *
127  *======================================================================*
128  *                      F r e e B S D                                   *
129  *======================================================================*
130  *
131  *      options "PCVT_FREEBSD=xxx" enables support for FreeBSD
132  *
133  *      select:
134  *              PCVT_FREEBSD = 102      for 1.0 release (actually 1.0.2)
135  *              PCVT_FREEBSD = 110      for FreeBSD 1.1-Release
136  *              PCVT_FREEBSD = 115      for FreeBSD 1.1.5.1-Release
137  *              PCVT_FREEBSD = 200      for FreeBSD 2.0-Release
138  *              PCVT_FREEBSD = 210      for FreeBSD 2.1-Release
139  *
140  */
141
142 /* -------------------------------------------------------------------- */
143 /* ---------------- USER PREFERENCE DRIVER OPTIONS -------------------- */
144 /* -------------------------------------------------------------------- */
145
146 /*----------------------------------------------------------------------*/
147 /* NOTE: if FAT_CURSOR is defined, a block cursor is used instead of    */
148 /*       the cursor shape we got from the BIOS, see pcvt_out.c          */
149 /*----------------------------------------------------------------------*/
150
151 #if !defined PCVT_NSCREENS      /* ---------- DEFAULT: 8 -------------- */
152 # define PCVT_NSCREENS 8        /* this option defines how many virtual */
153 #endif                          /* screens you want to have in your     */
154                                 /* system. each screen allocates memory,*/
155                                 /* so you can't have an unlimited num-  */
156                                 /* ber...; the value is intented to be  */
157                                 /* compile-time overridable by a config */
158                                 /* options "PCVT_NSCREENS=x" line       */
159
160 #if !defined PCVT_VT220KEYB     /* ---------- DEFAULT: OFF ------------ */
161 # define PCVT_VT220KEYB 0       /* this compiles a more vt220-like      */
162 #elif PCVT_VT220KEYB != 0       /* keyboardlayout as described in the   */
163 # undef PCVT_VT220KEYB          /* file Keyboard.VT220.                 */
164 # define PCVT_VT220KEYB 1       /* if undefined, a more HP-like         */
165 #endif                          /* keyboardlayout is compiled           */
166                                 /* try to find out what YOU like !      */
167
168 #if !defined PCVT_SCREENSAVER   /* ---------- DEFAULT: ON ------------- */
169 # define PCVT_SCREENSAVER 1     /* enable screen saver feature - this   */
170 #elif PCVT_SCREENSAVER != 0     /* just blanks the display screen.      */
171 # undef PCVT_SCREENSAVER        /* see PCVT_PRETTYSCRNS below ...       */
172 # define PCVT_SCREENSAVER 1
173 #endif
174
175 #if !defined PCVT_PRETTYSCRNS   /* ---------- DEFAULT: OFF ------------ */
176 # define PCVT_PRETTYSCRNS 0     /* for the cost of some microseconds of */
177 #elif PCVT_PRETTYSCRNS != 0     /* cpu time this adds a more "pretty"   */
178 # undef PCVT_PRETTYSCRNS        /* version to the screensaver, an "*"   */
179 # define PCVT_PRETTYSCRNS 1     /* in random locations of the display.  */
180 #endif                          /* NOTE: this should not be defined if  */
181                                 /* you have an energy-saving monitor    */
182                                 /* which turns off the display if its   */
183                                 /* black !!!!!!                         */
184
185 #if !defined PCVT_CTRL_ALT_DEL  /* ---------- DEFAULT: OFF ------------ */
186 # define PCVT_CTRL_ALT_DEL 0    /* this enables the execution of a cpu  */
187 #elif PCVT_CTRL_ALT_DEL != 0    /* reset by pressing the CTRL, ALT and  */
188 # undef PCVT_CTRL_ALT_DEL       /* DEL keys simultanously. Because this */
189 # define PCVT_CTRL_ALT_DEL 1    /* is a feature of an ancient simple    */
190 #endif                          /* bootstrap loader, it does not belong */
191                                 /* into modern operating systems and    */
192                                 /* was commented out by default ...     */
193
194 #if !defined PCVT_KBD_FIFO      /* ---------- DEFAULT: ON ------------- */
195 # define PCVT_KBD_FIFO 1        /* this enables Keyboad fifo so that we */
196 #elif PCVT_KBD_FIFO != 0        /* are not any longer forced to switch  */
197 # undef PCVT_KBD_FIFO           /* off tty interrupts while switching   */
198 # define PCVT_KBD_FIFO 1        /* virtual screens - AND loosing chars  */
199 #endif                          /* on the serial lines is gone :-)      */
200
201 #if PCVT_KBD_FIFO
202
203 # if !defined PCVT_KBD_FIFO_SZ  /* ---------- DEFAULT: 256 ------------ */
204 #  define PCVT_KBD_FIFO_SZ 256  /* this specifies the size of the above */
205 # elif PCVT_KBD_FIFO_SZ < 16    /* mentioned keyboard buffer. buffer    */
206 #  undef PCVT_KBD_FIFO_SZ       /* overflows are logged via syslog, so  */
207 #  define PCVT_KBD_FIFO_SZ 256  /* have a look at /var/log/messages     */
208 # endif
209
210 #endif /* PCVT_KBD_FIFO */
211
212 #if !defined PCVT_USEKBDSEC     /* ---------- DEFAULT: ON ------------- */
213 # define PCVT_USEKBDSEC 1       /* do not set the COMMAND_INHOVR bit    */
214 #elif PCVT_USEKBDSEC != 0       /* (1 = override security lock inhibit) */
215 # undef PCVT_USEKBDSEC          /* when initializing the keyboard, so   */
216 # define PCVT_USEKBDSEC 1       /* that security locking should work    */
217 #endif                          /* now. I guess this has to be done also*/
218                                 /* in the boot code to prevent single   */
219                                 /* user startup ....                    */
220
221 #if !defined PCVT_24LINESDEF    /* ---------- DEFAULT: OFF ------------ */
222 # define PCVT_24LINESDEF 0      /* use 24 lines in VT 25 lines mode and */
223 #elif PCVT_24LINESDEF != 0      /* HP 28 lines mode by default to have  */
224 # undef PCVT_24LINESDEF         /* the the better compatibility to the  */
225 # define PCVT_24LINESDEF 1      /* real VT220 - you can switch between  */
226 #endif                          /* the maximum possible screensizes in  */
227                                 /* those two modes (25 lines) and true  */
228                                 /* compatibility (24 lines) by using    */
229                                 /* the scon utility at runtime          */
230
231 #if !defined PCVT_EMU_MOUSE     /* ---------- DEFAULT: OFF ------------ */
232 # define PCVT_EMU_MOUSE 0       /* emulate a mouse systems mouse via    */
233 #elif PCVT_EMU_MOUSE != 0       /* the keypad; this is experimental     */
234 # undef PCVT_EMU_MOUSE          /* code intented to be used on note-    */
235 # define PCVT_EMU_MOUSE 1       /* books in conjunction with XFree86;   */
236 #endif                          /* look at the comments in pcvt_kbd.c   */
237                                 /* if you are interested in testing it. */
238
239 #if !defined PCVT_META_ESC      /* ---------- DEFAULT: OFF ------------ */
240 # define PCVT_META_ESC 0        /* if ON, send the sequence "ESC key"   */
241 #elif PCVT_META_ESC != 0        /* for a meta-shifted key; if OFF,      */
242 # undef PCVT_META_ESC           /* send the normal key code with 0x80   */
243 # define PCVT_META_ESC 1        /* added.                               */
244 #endif
245
246 #if !defined PCVT_SW0CNOUTP     /* ---------- DEFAULT: OFF ------------ */
247 # define PCVT_SW0CNOUTP 0       /* if ON, on console/kernel output the  */
248 #elif PCVT_SW0CNOUTP != 0       /* current screen is switched to screen */
249 # undef PCVT_SW0CNOUTP          /* 0 if not already at screen 0.        */
250 # define PCVT_SW0CNOUTP 1       /* CAUTION: CURRENTLY THIS CAUSES AN X- */
251 #endif                          /* SESSION TO CLUTTER VIDEO MEMORY !!!! */
252
253 /* -------------------------------------------------------------------- */
254 /* -------------------- DRIVER DEBUGGING ------------------------------ */
255 /* -------------------------------------------------------------------- */
256
257 #if !defined PCVT_SHOWKEYS      /* ---------- DEFAULT: OFF ------------ */
258 # define PCVT_SHOWKEYS 0        /* this replaces the system load line   */
259 #elif PCVT_SHOWKEYS != 0        /* on the vt 0 in hp mode with a display*/
260 # undef PCVT_SHOWKEYS           /* of the most recent keyboard scan-    */
261 # define PCVT_SHOWKEYS 1        /* and status codes received from the   */
262 #endif                          /* keyboard controller chip.            */
263                                 /* this is just for some hardcore       */
264                                 /* keyboarders ....                     */
265
266 /* -------------------------------------------------------------------- */
267 /* -------------------- DRIVER OPTIONS -------------------------------- */
268 /* -------------------------------------------------------------------- */
269 /*     it is unlikely that anybody wants to change anything below       */
270
271 #if !defined PCVT_NO_LED_UPDATE /* ---------- DEFAULT: OFF ------------ */
272 # define PCVT_NO_LED_UPDATE 0   /* On some (Notebook?) keyboards it is  */
273 #elif PCVT_NO_LED_UPDATE != 0   /* not possible to update the LED's     */
274 # undef PCVT_NO_LED_UPDATE      /* without hanging the keyboard after-  */
275 # define PCVT_NO_LED_UPDATE 1   /* wards. If you experience Problems    */
276 #endif                          /* like this, try to enable this option */
277
278 #if !defined PCVT_PORTIO_DELAY  /* ---------- DEFAULT: ON ------------- */
279 # define PCVT_PORTIO_DELAY 1    /* Defining PCVT_PORTIO_DELAY lets pcvt */
280 #elif PCVT_PORTIO_DELAY != 0    /* use multiple accesses to port 0x84   */
281 # undef PCVT_PORTIO_DELAY       /* to produce a delay of 7 us needed for*/
282 # define PCVT_PORTIO_DELAY 1    /* accessing the keyboard controller,   */
283 #endif                          /* otherwise the system delay functions */
284                                 /* are used.                            */
285
286 #if !defined PCVT_PCBURST       /* ---------- DEFAULT: 256 ------------ */
287 # define PCVT_PCBURST 256       /* NETBSD and FreeBSD >= 2.0 only: this */
288 #endif                          /* is the number of output characters   */
289                                 /* handled together as a burst in       */
290                                 /* routine pcstart(), file pcvt_drv.c   */
291
292 #if !defined PCVT_SCANSET       /* ---------- DEFAULT: 1 -------------- */
293 # define PCVT_SCANSET 1         /* define the keyboard scancode set you */
294 #endif                          /* want to use:                         */
295                                 /* 1 - code set 1       (supported)     */
296                                 /* 2 - code set 2       (supported)     */
297                                 /* 3 - code set 3       (UNsupported)   */
298
299 #if !defined PCVT_KEYBDID       /* ---------- DEFAULT: ON ------------- */
300 # define PCVT_KEYBDID 1         /* check type of keyboard connected. at */
301 #elif PCVT_KEYBDID != 0         /* least HP-keyboards send an id other  */
302 # undef PCVT_KEYBDID            /* than the industry standard, so it    */
303 # define PCVT_KEYBDID 1         /* CAN lead to problems. if you have    */
304 #endif                          /* problems with this, TELL ME PLEASE ! */
305
306 #if !defined PCVT_SIGWINCH      /* ---------- DEFAULT: ON ------------- */
307 # define PCVT_SIGWINCH 1        /* this sends a SIGWINCH signal in case */
308 #elif PCVT_SIGWINCH != 0        /* the window size is changed. to try,  */
309 # undef PCVT_SIGWINCH           /* issue "scons -s<size>" while in elvis*/
310 # define PCVT_SIGWINCH 1        /* and you'll see the effect.           */
311 #endif                          /* i'm not sure, whether this feature   */
312                                 /* has to be in the driver or has to    */
313                                 /* move as an ioctl call to scon ....   */
314
315 #if !defined PCVT_NULLCHARS     /* ---------- DEFAULT: ON ------------- */
316 # define PCVT_NULLCHARS 1       /* allow the keyboard to send null      */
317 #elif PCVT_NULLCHARS != 0       /* (0x00) characters to the calling     */
318 # undef PCVT_NULLCHARS          /* program. this has the side effect    */
319 # define PCVT_NULLCHARS 1       /* that every undefined key also sends  */
320 #endif                          /* out nulls. take it as experimental   */
321                                 /* code, this behaviour will change in  */
322                                 /* a future release                     */
323
324 #if !defined PCVT_BACKUP_FONTS  /* ---------- DEFAULT: ON ------------- */
325 # define PCVT_BACKUP_FONTS 1    /* fonts are always kept memory-backed; */
326 #elif  PCVT_BACKUP_FONTS != 0   /* otherwise copies are only made if    */
327 # undef PCVT_BACKUP_FONTS       /* they are needed.                     */
328 # define PCVT_BACKUP_FONTS 1
329 #endif
330
331 #ifndef PCVT_UPDATEFAST         /* this is the rate at which the cursor */
332 # define PCVT_UPDATEFAST (hz/10) /* gets updated with its new position  */
333 #endif                          /* see: async_update() in pcvt_sup.c    */
334
335 #ifndef PCVT_UPDATESLOW         /* this is the rate at which the cursor */
336 # define PCVT_UPDATESLOW 3      /* position display and the system load */
337 #endif                          /* (or the keyboard scancode display)   */
338                                 /* is updated. the relation is:         */
339                                 /* PCVT_UPDATEFAST/PCVT_UPDATESLOW      */
340
341 #ifndef PCVT_SYSBEEPF           /* timer chip value to be used for the  */
342 # define PCVT_SYSBEEPF 1193182  /* sysbeep frequency value.             */
343 #endif                          /* this should really go somewhere else,*/
344                                 /* e.g. in isa.h; but it used to be in  */
345                                 /* each driver, sometimes even with     */
346                                 /* different values (:-)                */
347
348 #if !defined PCVT_SETCOLOR      /* ---------- DEFAULT: OFF ------------ */
349 # define PCVT_SETCOLOR 0        /* enable making colors settable. this  */
350 #elif PCVT_SETCOLOR != 0        /* introduces a new escape sequence     */
351 # undef PCVT_SETCOLOR           /* <ESC d> which is (i think) not       */
352 # define PCVT_SETCOLOR 1        /* standardized, so this is an option   */
353 #endif                          /* (Birthday present for Bruce ! :-)    */
354
355 #if !defined PCVT_132GENERIC    /* ---------- DEFAULT: OFF ------------ */
356 # define PCVT_132GENERIC 0      /* if you #define this, you enable      */
357 #elif PCVT_132GENERIC != 0      /*      EXPERIMENTAL (!!!!!!!!!!!!)     */
358 # undef PCVT_132GENERIC         /*      USE-AT-YOUR-OWN-RISK,           */
359 # define PCVT_132GENERIC 1      /*      MAY-DAMAGE-YOUR-MONITOR         */
360 #endif                          /* code to switch generic VGA boards/   */
361                                 /* chipsets to 132 column mode. Since   */
362                                 /* i could not verify this option, i    */
363                                 /* prefer to NOT generally enable this, */
364                                 /* if you want to play, look at the     */
365                                 /* hints and the code in pcvt_sup.c and */
366                                 /* get in contact with Joerg Wunsch, who*/
367                                 /* submitted this code. Be careful !!!  */
368
369 #if !defined PCVT_PALFLICKER    /* ---------- DEFAULT: OFF ------------ */
370 # define PCVT_PALFLICKER 0      /* this option turns off the screen     */
371 #elif PCVT_PALFLICKER != 0      /* during accesses to the VGA DAC       */
372 # undef PCVT_PALFLICKER         /* registers. why: on one fo the tested */
373 # define PCVT_PALFLICKER 1      /* pc's (WD-chipset), accesses to the   */
374 #endif                          /* vga dac registers caused distortions */
375                                 /* on the screen. Ferraro says, one has */
376                                 /* to blank the screen. the method used */
377                                 /* to accomplish this stopped the noise */
378                                 /* but introduced another flicker, so   */
379                                 /* this is for you to experiment .....  */
380                                 /* - see also PCVT_WAITRETRACE below -- */
381
382 #if !defined PCVT_WAITRETRACE   /* ---------- DEFAULT: OFF ------------ */
383 # define PCVT_WAITRETRACE 0     /* this option waits for being in a     */
384 #elif PCVT_WAITRETRACE != 0     /* retrace window prior to accessing    */
385 # undef PCVT_WAITRETRACE        /* the VGA DAC registers.               */
386 # define PCVT_WAITRETRACE 1     /* this is the other method Ferraro     */
387 #endif                          /* mentioned in his book. this option   */
388                                 /* did eleminate the flicker noticably  */
389                                 /* but not completely. besides that, it */
390                                 /* is implemented as a busy-wait loop   */
391                                 /* which is a no-no-no in environments  */
392                                 /* like this - VERY BAD PRACTICE !!!!!  */
393                                 /* the other method implementing it is  */
394                                 /* using the vertical retrace irq, but  */
395                                 /* we get short of irq-lines on pc's.   */
396                                 /* this is for you to experiment .....  */
397                                 /* -- see also PCVT_PALFLICKER above -- */
398
399 #if !defined PCVT_INHIBIT_NUMLOCK /* --------- DEFAULT: OFF ----------- */
400 # define PCVT_INHIBIT_NUMLOCK 0 /* A notebook hack: since i am getting  */
401 #elif PCVT_INHIBIT_NUMLOCK != 0 /* tired of the numlock LED always      */
402 # undef PCVT_INHIBIT_NUMLOCK    /* being turned on - which causes the   */
403 # define PCVT_INHIBIT_NUMLOCK 1 /* right half of my keyboard being      */
404 #endif                          /* interpreted as a numeric keypad and  */
405                                 /* thus going unusable - i want to      */
406                                 /* have a better control over it. If    */
407                                 /* this option is enabled, only the     */
408                                 /* numlock key itself and the related   */
409                                 /* ioctls will modify the numlock       */
410                                 /* LED. (The ioctl is needed for the    */
411                                 /* ServerNumLock feature of XFree86.)   */
412                                 /* The default state is changed to      */
413                                 /* numlock off, and the escape          */
414                                 /* sequences to switch between numeric  */
415                                 /* and application mode keypad are      */
416                                 /* silently ignored.                    */
417
418 #if !defined PCVT_NOFASTSCROLL  /* ---------- DEFAULT: OFF ------------ */
419 # define PCVT_NOFASTSCROLL 0    /* If off, enables code for fast scroll.*/
420 #elif PCVT_NOFASTSCROLL != 0    /* This is done by changing the CRTC    */
421 # undef PCVT_NOFASTSCROLL       /* screen start address for scrolling   */
422 # define PCVT_NOFASTSCROLL 1    /* and using 2 times the screen size as */
423 #endif                          /* buffer. The fastscroll code works    */
424                                 /* ONLY for VGA/EGA/CGA because it uses */
425                                 /* the crtc for hardware scrolling and  */
426                                 /* therefore needs more than the one    */
427                                 /* page video memory MDA and most       */
428                                 /* Hercules boards support.             */
429                                 /* If you run pcvt ONLY on MDA/Hercules */
430                                 /* you should disable fastscroll to save*/
431                                 /* the time to decide which board you   */
432                                 /* are running pcvt on at runtime.      */
433                                 /*     [see roll_up() and roll_down().] */
434
435 #if !defined PCVT_SLOW_INTERRUPT/* ---------- DEFAULT: OFF ------------ */
436 # define PCVT_SLOW_INTERRUPT 0  /* If off, protecting critical regions  */
437 #elif PCVT_SLOW_INTERRUPT != 0  /* in the keyboard fifo code is done by */
438 # undef PCVT_SLOW_INTERRUPT     /* disabling the processor irq's, if on */
439 # define PCVT_SLOW_INTERRUPT 1  /* this is done by spl()/splx() calls.  */
440 #endif
441
442 #ifdef XSERVER
443
444 #if !defined PCVT_USL_VT_COMPAT /* ---------- DEFAULT: ON ------------- */
445 # define PCVT_USL_VT_COMPAT 1   /* this option enables multiple virtual */
446 #elif PCVT_USL_VT_COMPAT != 0   /* screen support for XFree86. If set   */
447 # undef PCVT_USL_VT_COMPAT      /* to off, support for a "classic"      */
448 # define PCVT_USL_VT_COMPAT 1   /* single screen only X server is       */
449 #endif                          /* compiled in. If enabled, most of the */
450                                 /* ioctl's from SYSV/USL are supported  */
451                                 /* to run multiple X servers and/or     */
452                                 /* character terminal sessions.         */
453
454 #endif /* XSERVER */
455
456 /*---------------------------------------------------------------------------*
457  *      Kernel messages attribute definitions
458  *      These define the foreground and background attributes used to
459  *      emphasize messages from the kernel on color and mono displays.
460  *---------------------------------------------------------------------------*/
461
462 #if !defined COLOR_KERNEL_FG            /* color displays               */
463 #define COLOR_KERNEL_FG FG_LIGHTGREY    /* kernel messages, foreground  */
464 #endif
465 #if !defined COLOR_KERNEL_BG
466 #define COLOR_KERNEL_BG BG_RED          /* kernel messages, background  */
467 #endif
468
469 #if !defined MONO_KERNEL_FG             /* monochrome displays          */
470 #define MONO_KERNEL_FG  FG_UNDERLINE    /* kernel messages, foreground  */
471 #endif
472 #if !defined MONO_KERNEL_BG
473 #define MONO_KERNEL_BG  BG_BLACK        /* kernel messages, background  */
474 #endif
475
476 /*---------------------------------- E O F ----------------------------------*/