diff options
author | phk <phk@FreeBSD.org> | 2006-05-17 09:33:15 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2006-05-17 09:33:15 +0000 |
commit | 537a82e24b165d002f904dd1bbc454533a2021cd (patch) | |
tree | b9d1ad42ae7e0437e274339e458aab20bcb025d4 /usr.sbin/pcvt/vgaio | |
parent | 2d778391877a5dfddee23a04baf6b08ba0984db5 (diff) | |
download | FreeBSD-src-537a82e24b165d002f904dd1bbc454533a2021cd.zip FreeBSD-src-537a82e24b165d002f904dd1bbc454533a2021cd.tar.gz |
Send the pcvt(4) driver off to retirement.
Diffstat (limited to 'usr.sbin/pcvt/vgaio')
-rw-r--r-- | usr.sbin/pcvt/vgaio/CAUTION | 28 | ||||
-rw-r--r-- | usr.sbin/pcvt/vgaio/Makefile | 24 | ||||
-rw-r--r-- | usr.sbin/pcvt/vgaio/lex.l | 83 | ||||
-rw-r--r-- | usr.sbin/pcvt/vgaio/vgaio.8 | 141 | ||||
-rw-r--r-- | usr.sbin/pcvt/vgaio/vgaio.h | 60 | ||||
-rw-r--r-- | usr.sbin/pcvt/vgaio/vgaio.y | 253 |
6 files changed, 0 insertions, 589 deletions
diff --git a/usr.sbin/pcvt/vgaio/CAUTION b/usr.sbin/pcvt/vgaio/CAUTION deleted file mode 100644 index e1eba06..0000000 --- a/usr.sbin/pcvt/vgaio/CAUTION +++ /dev/null @@ -1,28 +0,0 @@ -CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION -CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION -CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION - - THE USE OF THIS PROGRAM MAY DESTROY YOUR MONITOR !!! - ==================================================== - - IF YOU DON'T KNOW WHAT YOU ARE DOING, STAY AWAY FROM IT !!! - =========================================================== - - THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION -CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION -CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION - diff --git a/usr.sbin/pcvt/vgaio/Makefile b/usr.sbin/pcvt/vgaio/Makefile deleted file mode 100644 index 0ac0388..0000000 --- a/usr.sbin/pcvt/vgaio/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -# $FreeBSD$ - -PROG= vgaio -MAN= vgaio.8 -SRCS= vgaio.y lex.l y.tab.h - -CFLAGS+= -I${.OBJDIR} -I${.CURDIR} - -YACC= yacc - -#YFLAGS+= -yd # Bison -#YFLAGS+= -v # verbose - -LFLAGS+= -I - -DPADD= ${LIBM} ${LIBY} ${LIBL} -LDADD= -lm -ly -ll - -CLEANFILES+= y.output # comment file from bison - -install: - @${ECHO} "vgaio is not installed automatically ...." - -.include <bsd.prog.mk> diff --git a/usr.sbin/pcvt/vgaio/lex.l b/usr.sbin/pcvt/vgaio/lex.l deleted file mode 100644 index 6cf85ec..0000000 --- a/usr.sbin/pcvt/vgaio/lex.l +++ /dev/null @@ -1,83 +0,0 @@ -%{ -/* - * Copyright (c) 1994 Joerg Wunsch - * - * All rights reserved. - * - * This program is free software. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Joerg Wunsch - * 4. The name of the developer may not be used to endorse or promote - * products derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <sys/cdefs.h> -__FBSDID("$FreeBSD$"); - -/* - * $Log: lex.l,v $ - * Revision 1.1 1994/03/29 02:47:20 mycroft - * pcvt 3.0, with some performance enhancements by Joerg Wunsch and me. - * - * Revision 1.2 1994/01/08 17:42:58 j - * cleanup - * made multiple commands per line work - * wrote man page - * - * Revision 1.3 21.12.1994 -hm - * Added mi command for accessing the misc out register - */ - -#include <stdio.h> -#include <stdlib.h> - -#include "vgaio.h" -#include "y.tab.h" - -extern YYSTYPE yylval; - -%} - -D [0-9a-fA-F] - -%% - -cr|CR { return CR; } - -ar|AR { return AR; } - -gr|GR { return GR; } - -sr|SR { return SR; } - -mi|MI { return MI; } - -{D}({D}*) { sscanf(yytext, "%x", &yylval.num); return NUM; } - -[ \t] { /* ignore */ } - -\n { return NEWLINE; } - -. { return yytext[0]; } diff --git a/usr.sbin/pcvt/vgaio/vgaio.8 b/usr.sbin/pcvt/vgaio/vgaio.8 deleted file mode 100644 index e7f3b24..0000000 --- a/usr.sbin/pcvt/vgaio/vgaio.8 +++ /dev/null @@ -1,141 +0,0 @@ -.\" -.\" Copyright (c) 1994 Joerg Wunsch -.\" -.\" All rights reserved. -.\" -.\" This program is free software. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by Joerg Wunsch -.\" 4. The name of the developer may not be used to endorse or promote -.\" products derived from this software without specific prior written -.\" permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR -.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, -.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.\" $FreeBSD$ -.\" -hm updated 31.12.94 -.\" -.Dd December 31, 1994 -.Dt VGAIO 8 -.Os -.Sh NAME -.Nm vgaio -.Nd perform input/output on a Video Graphics Array -.Sh SYNOPSIS -.Nm -.Op Fl d -.Sh DESCRIPTION -.Ss Purpose -The -.Nm -utility -is used to perform register-level input/output on a Video Graphics Array. -Since some of the sequences required to access those registers are very -silly, -.Nm -cares of all the things necessary and allows the user to access the -registers of several register groups with their symbolic names. -.Ss Options -.Bl -tag -width 10n -offset indent -.It Fl d -Turn on the grammar parser debugger. -.El -.Ss Command language -The command language of -.Nm -constitutes of some very simple tokens and rules. -Commands are executed -line by line as they are entered. -Each line may contain any number of -semicolon-separated input/output commands. -.Pp -Symbolic register names look like: -.Pp -.D1 Ao Em reggroup Ac Ns Aq Em regnumber -.Pp -with -.Aq Em regnumber -being any hexadecimal number -(without a leading -.Em 0x ) , -and -.Aq Em reggroup -one of the strings -.Dq Em ar , -.Dq Em cr , -.Dq Em gr , -.Dq Em mi , -or -.Dq Em sr , -standing for the -.Em Attribute controller , -.Em CRT controller , -.Em Graphics controller , -.Em Miscellaneous Output Register , -or -.Em Timing sequencer , -respectively. -.Pp -An input instruction has the form -.Pp -.D1 Ao Em regname Ac \&? -.Pp -and will cause -.Nm -to output a line like -.Bd -ragged -offset indent -.Aq Em regname -.No = 0x Ns Aq Em number -.Ed -.Pp -An output instruction looks like -.Bd -ragged -offset indent -.Ao Em regname Ac = -.Aq Em number -.Ed -.Pp -Spaces or Tabs between the -.Aq Em reggroup , -the -.Aq Em regnumber , -or any of the other tokens are ignored. -They are not required anyway. -.Pp -The -.Dq Em mi -needs a single unused argument to satisfy the syntax :-) (-hm). -.Ss Access control -The caller must have uid 0 in order to gain the required access to -the IO registers. -.Sh HISTORY -This program is considered -.Dq hackware . -It has been developed in order to simplify the process of developing other -software that needs to program the Video Graphics Array. -.Pp -Remember, to use this program, your kernel has to be compiled with XSERVER -being defined! -.Sh AUTHORS -The program has been contributed by -.An J\(:org Wunsch , -Dresden -.Aq joerg_wunsch@uriah.sax.de . diff --git a/usr.sbin/pcvt/vgaio/vgaio.h b/usr.sbin/pcvt/vgaio/vgaio.h deleted file mode 100644 index e313f86..0000000 --- a/usr.sbin/pcvt/vgaio/vgaio.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) 1994 Joerg Wunsch - * - * All rights reserved. - * - * This program is free software. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Joerg Wunsch - * 4. The name of the developer may not be used to endorse or promote - * products derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * $Header - * The author may be reached unter <joerg_wunsch@uriah.sax.de> - * - * $Log: vgaio.h,v $ - * Revision 1.1 1994/03/29 02:47:25 mycroft - * pcvt 3.0, with some performance enhancements by Joerg Wunsch and me. - * - * Revision 1.2 1994/01/08 17:42:58 j - * cleanup - * made multiple commands per line work - * wrote man page - * - * - */ - -/* common structure to hold the definition for a VGA register */ - -#ifndef VGAIO_H -#define VGAIO_H - -struct reg { - int group, num; -}; - -#endif /* VGAIO_H */ diff --git a/usr.sbin/pcvt/vgaio/vgaio.y b/usr.sbin/pcvt/vgaio/vgaio.y deleted file mode 100644 index 32c0142..0000000 --- a/usr.sbin/pcvt/vgaio/vgaio.y +++ /dev/null @@ -1,253 +0,0 @@ -%{ -/* - * Copyright (c) 1994 Joerg Wunsch - * - * All rights reserved. - * - * This program is free software. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Joerg Wunsch - * 4. The name of the developer may not be used to endorse or promote - * products derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <sys/cdefs.h> -__FBSDID("$FreeBSD$"); - -/* - * $Log: vgaio.y,v $ - * Revision 1.1 1994/03/29 02:47:27 mycroft - * pcvt 3.0, with some performance enhancements by Joerg Wunsch and me. - * - * Revision 1.2 1994/01/08 17:42:58 j - * cleanup - * made multiple commands per line work - * wrote man page - * - * Revision 1.3 21.12.1994 -hm - * Added mi command for accessing the misc out register - * hex values shown as 2 fixed chars, added binary output - */ - -#include <sys/types.h> -#include <stdio.h> -#include <stdlib.h> -#include <sys/fcntl.h> -#include <machine/cpufunc.h> -#include <machine/pcvt_ioctl.h> - -#ifdef __NetBSD__ -#include <machine/pio.h> -#endif - -#include "vgaio.h" - -void setreg(struct reg r, int val); -void getreg(struct reg r); -void yyerror(const char *msg); - -#define YYDEBUG 1 - -unsigned short vgabase; - -%} - -%union { - int num; - struct reg reg; -} - -%token MI GR CR SR AR NEWLINE -%token <num> NUM - -%type <num> reggroup -%type <reg> register - -%% - -interpret: lines ; - -lines: line - | lines line - ; - -line: statements NEWLINE - | NEWLINE - | error NEWLINE { fprintf(stderr, "bing!\n"); } - ; - -statements: statement - | statements ';' statement - ; - -statement: register '?' { getreg($1); } - | register '=' NUM { setreg($1, $3); } - | /* lambda */ - ; - -register: reggroup NUM { $$.num = $2; $$.group = $1; } - ; - -reggroup: GR { $$ = GR; } - | CR { $$ = CR; } - | SR { $$ = SR; } - | AR { $$ = AR; } - | MI { $$ = MI; } - ; - -%% - -static struct { - int id; - const char *name; -} regnames[] = { - {GR, "gr"}, {CR, "cr"}, {SR, "sr"}, {AR, "ar"}, {MI, "mi"}, - {0, 0} -}; - -const char *getname(struct reg r) { - int idx; - for(idx = 0; regnames[idx].id; idx++) - if(regnames[idx].id == r.group) - return regnames[idx].name; - return "??"; -} - -/*---------------------------------------------------------------------------* - * return ptr to string of 1's and 0's for value - *---------------------------------------------------------------------------*/ -char * -bin_str(unsigned long val, int length) -{ - static char buffer[80]; - int i = 0; - - if (length > 32) - length = 32; - - val = val << (32 - length); - - while (length--) - { - if (val & 0x80000000) - buffer[i++] = '1'; - else - buffer[i++] = '0'; - if ((length % 4) == 0 && length) - buffer[i++] = '.'; - val = val << 1; - } - return (buffer); -} - -void getreg(struct reg r) { - int val; /* FreeBSD gcc ONLY accepts an int !! */ - - switch(r.group) { - case GR: - outb(0x3ce, r.num); - val = inb(0x3cf); - break; - - case AR: - r.num &= 0x1f; - (void)inb(vgabase + 0x0a); - outb(0x3c0, r.num + 0x20); - val = inb(0x3c1); - break; - - case CR: - outb(vgabase + 4, r.num); - val = inb(vgabase + 5); - break; - - case SR: - outb(0x3c4, r.num); - val = inb(0x3c5); - break; - - case MI: - val = inb(0x3cc); - break; - } - - printf("%s%02x = 0x%02x = %s (bin)\n", getname(r), r.num, val, bin_str(val,8)); -} - -void setreg(struct reg r, int val) { - switch(r.group) { - case GR: - outb(0x3ce, r.num); - outb(0x3cf, val); - break; - - case AR: - r.num &= 0x1f; - (void)inb(vgabase + 0x0a); - outb(0x3c0, r.num); - outb(0x3c0, val); - outb(0x3c0, r.num + 0x20); - break; - - case CR: - outb(vgabase + 4, r.num); - outb(vgabase + 5, val); - break; - - case SR: - outb(0x3c4, r.num); - outb(0x3c5, val); - break; - - case MI: - outb(0x3c2, val); - break; - } - - printf("%s%02x set to 0x%02x = %s (bin) now\n", getname(r), r.num, val, bin_str(val,8)); -} - -void yyerror(const char *msg) { - fprintf(stderr, "yyerror: %s\n", msg); -} - -int main(int argc, char **argv) { - int fd; - - if(argc > 1) yydebug = 1; - - if((fd = open("/dev/console", O_RDONLY)) < 0) - fd = 0; - - if(ioctl(fd, KDENABIO, 0) < 0) { - perror("ioctl(KDENABIO)"); - return 1; - } - vgabase = (inb(0x3cc) & 1)? 0x3d0: 0x3b0; - yyparse(); - - (void)ioctl(fd, KDDISABIO, 0); - return 0; -} |