#include <dev/cons.h>
#include <machine/cpu.h>
+#include <machine/pio.h>
#include <machine/autoconf.h>
#include <machine/display.h>
#include <machine/pccons.h>
void pcattach __P((struct device *, struct device *, void *));
int pcintr __P((void *));
-struct cfdriver pccd = {
- NULL, "pc", pcmatch, pcattach, DV_TTY, sizeof(struct pc_softc)
+struct cfattach pc_ca = {
+ sizeof(struct pc_softc), pcmatch, pcattach
+};
+struct cfdriver pc_cd = {
+ NULL, "pc", DV_TTY, NULL, 0
};
int pmsprobe __P((struct device *, void *, void *));
void pmsattach __P((struct device *, struct device *, void *));
int pmsintr __P((void *));
-struct cfdriver pmscd = {
- NULL, "pms", pmsprobe, pmsattach, DV_TTY, sizeof(struct pms_softc)
+struct cfattach pms_ca = {
+ sizeof(struct pms_softc), pmsprobe, pmsattach
+};
+struct cfdriver pms_cd = {
+ NULL, "pms", DV_TTY, NULL, 0
};
#define PMSUNIT(dev) (minor(dev))
int unit = PCUNIT(dev);
struct tty *tp;
- if (unit >= pccd.cd_ndevs)
+ if (unit >= pc_cd.cd_ndevs)
return ENXIO;
- sc = pccd.cd_devs[unit];
+ sc = pc_cd.cd_devs[unit];
if (sc == 0)
return ENXIO;
int flag, mode;
struct proc *p;
{
- struct pc_softc *sc = pccd.cd_devs[PCUNIT(dev)];
+ struct pc_softc *sc = pc_cd.cd_devs[PCUNIT(dev)];
struct tty *tp = sc->sc_tty;
(*linesw[tp->t_line].l_close)(tp, flag);
struct uio *uio;
int flag;
{
- struct pc_softc *sc = pccd.cd_devs[PCUNIT(dev)];
+ struct pc_softc *sc = pc_cd.cd_devs[PCUNIT(dev)];
struct tty *tp = sc->sc_tty;
return ((*linesw[tp->t_line].l_read)(tp, uio, flag));
struct uio *uio;
int flag;
{
- struct pc_softc *sc = pccd.cd_devs[PCUNIT(dev)];
+ struct pc_softc *sc = pc_cd.cd_devs[PCUNIT(dev)];
struct tty *tp = sc->sc_tty;
return ((*linesw[tp->t_line].l_write)(tp, uio, flag));
pctty(dev)
dev_t dev;
{
- struct pc_softc *sc = pccd.cd_devs[PCUNIT(dev)];
+ struct pc_softc *sc = pc_cd.cd_devs[PCUNIT(dev)];
struct tty *tp = sc->sc_tty;
return (tp);
int flag;
struct proc *p;
{
- struct pc_softc *sc = pccd.cd_devs[PCUNIT(dev)];
+ struct pc_softc *sc = pc_cd.cd_devs[PCUNIT(dev)];
struct tty *tp = sc->sc_tty;
int error;
* interrupts.
*/
unit = PCUNIT(dev);
- if (pccd.cd_ndevs > unit) {
- sc = pccd.cd_devs[unit];
+ if (pc_cd.cd_ndevs > unit) {
+ sc = pc_cd.cd_devs[unit];
if (sc != 0) {
s = spltty();
pcintr(sc);
};
static Scan_def sw_scan_codes[] = {
- NONE, "", "", "", "", /* 0 unused */
- ASCII, "\033", "\033", "\033", "\033", /* 1 ESCape */
- ASCII, "1", "!", "", "0xa1", /* 2 1 */
- ASCII, "2", "\"", "\000", "@", /* 3 2 */
- ASCII, "3", "#", "", "0xa3", /* 4 3 */
- ASCII, "4", "$", "", "$", /* 5 4 */
- ASCII, "5", "%", "\034", "\\", /* 6 5 */
- ASCII, "6", "&", "\034", "|", /* 7 6 */
- ASCII, "7", "/", "\033", "{", /* 8 7 */
- ASCII, "9", ")", "\035", "]", /* 10 9 */
- ASCII, "0", "=", "\035", "}", /* 11 0 */
- ASCII, "+", "?", "\037", "0xbf", /* 12 - */
- ASCII, "\\", "`", "\034", "'", /* 13 = */
- ASCII, "\177", "\177", "\010", "\177", /* 14 backspace */
- ASCII, "\t", "\177\t", "\t", "\t", /* 15 tab */
- ASCII, "q", "Q", "\021", "q", /* 16 q */
- ASCII, "w", "W", "\027", "w", /* 17 w */
- ASCII, "e", "E", "\005", "0xeb", /* 18 e */
- ASCII, "r", "R", "\022", "r", /* 19 r */
- ASCII, "t", "T", "\024", "t", /* 20 t */
- ASCII, "y", "Y", "\031", "y", /* 21 y */
- ASCII, "u", "U", "\025", "0xfc", /* 22 u */
- ASCII, "i", "I", "\011", "i", /* 23 i */
- ASCII, "o", "O", "\017", "0xf6", /* 24 o */
- ASCII, "p", "P", "\020", "p", /* 25 p */
- ASCII, "0xe5", "0xc5", "0xdc", "0xfc", /* 26 [ */
- ASCII, "~", "^", "\036", "", /* 27 ] */
- ASCII, "\r", "\r", "\n", "\r", /* 28 return */
- CTL, "", "", "", "", /* 29 control */
- ASCII, "a", "A", "\001", "0xe4", /* 30 a */
- ASCII, "s", "S", "\023", "0xdf", /* 31 s */
- ASCII, "d", "D", "\004", "d", /* 32 d */
- ASCII, "f", "F", "\006", "f", /* 33 f */
- ASCII, "g", "G", "\007", "g", /* 34 g */
- ASCII, "h", "H", "\010", "h", /* 35 h */
- ASCII, "j", "J", "\n", "j", /* 36 j */
- ASCII, "k", "K", "\013", "k", /* 37 k */
- ASCII, "l", "L", "\014", "l", /* 38 l */
- ASCII, "0xf6", "0xd6", "0xd6", "0xf6", /* 39 ; */
- ASCII, "0xe4", "0xc4", "0xc4", "0xe4", /* 40 ' */
- ASCII, "|", "@", "\034", "0xa7", /* 41 ` */
- SHIFT, "", "", "", "", /* 42 shift */
- ASCII, "'", "*", "'", "'", /* 43 \ */
- ASCII, "z", "Z", "\032", "z", /* 44 z */
- ASCII, "x", "X", "\030", "x", /* 45 x */
- ASCII, "c", "C", "\003", "c", /* 46 c */
- ASCII, "v", "V", "\026", "v", /* 47 v */
- ASCII, "b", "B", "\002", "b", /* 48 b */
- ASCII, "n", "N", "\016", "n", /* 49 n */
- ASCII, "m", "M", "\015", "m", /* 50 m */
- ASCII, ",", ";", ",", ",", /* 51 , */
- ASCII, ".", ":", ".", ".", /* 52 . */
- ASCII, "-", "_", "\037", "-", /* 53 / */
- SHIFT, "", "", "", "", /* 54 shift */
- KP, "*", "*", "*", "*", /* 55 kp * */
- ALT, "", "", "", "", /* 56 alt */
- ASCII, " ", " ", "\000", " ", /* 57 space */
- CAPS, "", "", "", "", /* 58 caps */
- FUNC, "\033[M", "\033[Y", "\033[k", "", /* 59 f1 */
- FUNC, "\033[N", "\033[Z", "\033[l", "", /* 60 f2 */
- FUNC, "\033[O", "\033[a", "\033[m", "", /* 61 f3 */
- FUNC, "\033[P", "\033[b", "\033[n", "", /* 62 f4 */
- FUNC, "\033[Q", "\033[c", "\033[o", "", /* 63 f5 */
- FUNC, "\033[R", "\033[d", "\033[p", "", /* 64 f6 */
- FUNC, "\033[S", "\033[e", "\033[q", "", /* 65 f7 */
- FUNC, "\033[T", "\033[f", "\033[r", "", /* 66 f8 */
- FUNC, "\033[U", "\033[g", "\033[s", "", /* 67 f9 */
- FUNC, "\033[V", "\033[h", "\033[t", "", /* 68 f10 */
- NUM, "", "", "", "", /* 69 num lo
-
- SCROLL, "", "", "", "", /* 70 scroll
-
- KP, "7", "\033[H", "7", "", /* 71 kp 7 */
- KP, "8", "\033[A", "8", "", /* 72 kp 8 */
- KP, "9", "\033[I", "9", "", /* 73 kp 9 */
- KP, "-", "-", "-", "", /* 74 kp - */
- KP, "4", "\033[D", "4", "", /* 75 kp 4 */
- KP, "5", "\033[E", "5", "", /* 76 kp 5 */
- KP, "6", "\033[C", "6", "", /* 77 kp 6 */
- KP, "+", "+", "+", "", /* 78 kp + */
- KP, "1", "\033[F", "1", "", /* 79 kp 1 */
- KP, "2", "\033[B", "2", "", /* 80 kp 2 */
- KP, "3", "\033[G", "3", "", /* 81 kp 3 */
- KP, "0", "\033[L", "0", "", /* 82 kp 0 */
- KP, ".", "\177", ".", "", /* 83 kp . */
- NONE, "", "", "", "", /* 84 0 */
- NONE, "100", "", "", "", /* 85 0 */
- ASCII, "<", ">", "0xbb", "0xab", /* 86 < > */
- FUNC, "\033[W", "\033[i", "\033[u","", /* 87 f11 */
- FUNC, "\033[X", "\033[j", "\033[v","", /* 88 f12 */
- NONE, "102", "", "", "", /* 89 0 */
- NONE, "103", "", "", "", /* 90 0 */
- NONE, "", "", "", "", /* 91 0 */
- NONE, "", "", "", "", /* 92 0 */
- NONE, "", "", "", "", /* 93 0 */
- NONE, "", "", "", "", /* 94 0 */
- NONE, "", "", "", "", /* 95 0 */
- NONE, "", "", "", "", /* 96 0 */
- NONE, "", "", "", "", /* 97 0 */
- NONE, "", "", "", "", /* 98 0 */
- NONE, "", "", "", "", /* 99 0 */
- NONE, "", "", "", "", /* 100 */
- NONE, "", "", "", "", /* 101 */
- NONE, "", "", "", "", /* 102 */
- NONE, "", "", "", "", /* 103 */
- NONE, "", "", "", "", /* 104 */
- NONE, "", "", "", "", /* 105 */
- NONE, "", "", "", "", /* 106 */
- NONE, "", "", "", "", /* 107 */
- NONE, "", "", "", "", /* 108 */
- NONE, "", "", "", "", /* 109 */
- NONE, "", "", "", "", /* 110 */
- NONE, "", "", "", "", /* 111 */
- NONE, "", "", "", "", /* 112 */
- NONE, "", "", "", "", /* 113 */
- NONE, "", "", "", "", /* 114 */
- NONE, "", "", "", "", /* 115 */
- NONE, "", "", "", "", /* 116 */
- NONE, "", "", "", "", /* 117 */
- NONE, "", "", "", "", /* 118 */
- NONE, "", "", "", "", /* 119 */
- NONE, "", "", "", "", /* 120 */
- NONE, "", "", "", "", /* 121 */
- NONE, "", "", "", "", /* 122 */
- NONE, "", "", "", "", /* 123 */
- NONE, "", "", "", "", /* 124 */
- NONE, "", "", "", "", /* 125 */
- NONE, "", "", "", "", /* 126 */
- NONE, "", "", "", "", /* 127 */
+ NONE, "", "", "", "", /* 0 unused */
+ ASCII, "\033", "\033", "\033", "\033", /* 1 ESCape */
+ ASCII, "1", "!", "", "\241", /* 2 1 */
+ ASCII, "2", "\"", "\000", "@", /* 3 2 */
+ ASCII, "3", "#", "", "\243", /* 4 3 */
+ ASCII, "4", "$", "", "$", /* 5 4 */
+ ASCII, "5", "%", "\034", "\\", /* 6 5 */
+ ASCII, "6", "&", "\034", "|", /* 7 6 */
+ ASCII, "7", "/", "\033", "{", /* 8 7 */
+ ASCII, "8", "(", "\036", "[", /* 9 8 */
+ ASCII, "9", ")", "\035", "]", /* 10 9 */
+ ASCII, "0", "=", "\035", "}", /* 11 0 */
+ ASCII, "+", "?", "\037", "\\", /* 12 - */
+ ASCII, "'", "`", "\034", "'", /* 13 = */
+ ASCII, "\177", "\177", "\010", "\177", /* 14 backspace */
+ ASCII, "\t", "\177\t", "\t", "\t", /* 15 tab */
+ ASCII, "q", "Q", "\021", "q", /* 16 q */
+ ASCII, "w", "W", "\027", "w", /* 17 w */
+ ASCII, "e", "E", "\005", "\353", /* 18 e */
+ ASCII, "r", "R", "\022", "r", /* 19 r */
+ ASCII, "t", "T", "\024", "t", /* 20 t */
+ ASCII, "y", "Y", "\031", "y", /* 21 y */
+ ASCII, "u", "U", "\025", "\374", /* 22 u */
+ ASCII, "i", "I", "\011", "i", /* 23 i */
+ ASCII, "o", "O", "\017", "\364", /* 24 o */
+ ASCII, "p", "P", "\020", "p", /* 25 p */
+ ASCII, "\345", "\305", "\334", "\374", /* 26 [ */
+ ASCII, "~", "^", "\036", "", /* 27 ] */
+ ASCII, "\r", "\r", "\n", "\r", /* 28 return */
+ CTL, "", "", "", "", /* 29 control */
+ ASCII, "a", "A", "\001", "\344", /* 30 a */
+ ASCII, "s", "S", "\023", "\337", /* 31 s */
+ ASCII, "d", "D", "\004", "d", /* 32 d */
+ ASCII, "f", "F", "\006", "f", /* 33 f */
+ ASCII, "g", "G", "\007", "g", /* 34 g */
+ ASCII, "h", "H", "\010", "h", /* 35 h */
+ ASCII, "j", "J", "\n", "j", /* 36 j */
+ ASCII, "k", "K", "\013", "k", /* 37 k */
+ ASCII, "l", "L", "\014", "l", /* 38 l */
+ ASCII, "\366", "\326", "\326", "\366", /* 39 ; */
+ ASCII, "\344", "\304", "\304", "\344", /* 40 ' */
+ ASCII, "|", "@", "\034", "\247", /* 41 ` */
+ SHIFT, "", "", "", "", /* 42 shift */
+ ASCII, "'", "*", "'", "'", /* 43 \ */
+ ASCII, "z", "Z", "\032", "z", /* 44 z */
+ ASCII, "x", "X", "\030", "x", /* 45 x */
+ ASCII, "c", "C", "\003", "c", /* 46 c */
+ ASCII, "v", "V", "\026", "v", /* 47 v */
+ ASCII, "b", "B", "\002", "b", /* 48 b */
+ ASCII, "n", "N", "\016", "n", /* 49 n */
+ ASCII, "m", "M", "\015", "m", /* 50 m */
+ ASCII, ",", ";", ",", ",", /* 51 , */
+ ASCII, ".", ":", ".", ".", /* 52 . */
+ ASCII, "-", "_", "\037", "-", /* 53 / */
+ SHIFT, "", "", "", "", /* 54 shift */
+ KP, "*", "*", "*", "*", /* 55 kp * */
+ ALT, "", "", "", "", /* 56 alt */
+ ASCII, " ", " ", "\000", " ", /* 57 space */
+ CAPS, "", "", "", "", /* 58 caps */
+ FUNC, "\033[M", "\033[Y", "\033[k", "", /* 59 f1 */
+ FUNC, "\033[N", "\033[Z", "\033[l", "", /* 60 f2 */
+ FUNC, "\033[O", "\033[a", "\033[m", "", /* 61 f3 */
+ FUNC, "\033[P", "\033[b", "\033[n", "", /* 62 f4 */
+ FUNC, "\033[Q", "\033[c", "\033[o", "", /* 63 f5 */
+ FUNC, "\033[R", "\033[d", "\033[p", "", /* 64 f6 */
+ FUNC, "\033[S", "\033[e", "\033[q", "", /* 65 f7 */
+ FUNC, "\033[T", "\033[f", "\033[r", "", /* 66 f8 */
+ FUNC, "\033[U", "\033[g", "\033[s", "", /* 67 f9 */
+ FUNC, "\033[V", "\033[h", "\033[t", "", /* 68 f10 */
+ NUM, "", "", "", "", /* 69 num lo */
+ SCROLL, "", "", "", "", /* 70 scroll */
+ KP, "7", "\033[H", "7", "", /* 71 kp 7 */
+ KP, "8", "\033[A", "8", "", /* 72 kp 8 */
+ KP, "9", "\033[I", "9", "", /* 73 kp 9 */
+ KP, "-", "-", "-", "", /* 74 kp - */
+ KP, "4", "\033[D", "4", "", /* 75 kp 4 */
+ KP, "5", "\033[E", "5", "", /* 76 kp 5 */
+ KP, "6", "\033[C", "6", "", /* 77 kp 6 */
+ KP, "+", "+", "+", "", /* 78 kp + */
+ KP, "1", "\033[F", "1", "", /* 79 kp 1 */
+ KP, "2", "\033[B", "2", "", /* 80 kp 2 */
+ KP, "3", "\033[G", "3", "", /* 81 kp 3 */
+ KP, "0", "\033[L", "0", "", /* 82 kp 0 */
+ KP, ".", "\177", ".", "", /* 83 kp . */
+ NONE, "", "", "", "", /* 84 0 */
+ NONE, "100", "", "", "", /* 85 0 */
+ ASCII, "<", ">", "\273", "|", /* 86 < > */
+ FUNC, "\033[W", "\033[i", "\033[u", "", /* 87 f11 */
+ FUNC, "\033[X", "\033[j", "\033[v", "", /* 88 f12 */
+ NONE, "102", "", "", "", /* 89 0 */
+ NONE, "103", "", "", "", /* 90 0 */
+ NONE, "", "", "", "", /* 91 0 */
+ NONE, "", "", "", "", /* 92 0 */
+ NONE, "", "", "", "", /* 93 0 */
+ NONE, "", "", "", "", /* 94 0 */
+ NONE, "", "", "", "", /* 95 0 */
+ NONE, "", "", "", "", /* 96 0 */
+ NONE, "", "", "", "", /* 97 0 */
+ NONE, "", "", "", "", /* 98 0 */
+ NONE, "", "", "", "", /* 99 0 */
+ NONE, "", "", "", "", /* 100 */
+ NONE, "", "", "", "", /* 101 */
+ NONE, "", "", "", "", /* 102 */
+ NONE, "", "", "", "", /* 103 */
+ NONE, "", "", "", "", /* 104 */
+ NONE, "", "", "", "", /* 105 */
+ NONE, "", "", "", "", /* 106 */
+ NONE, "", "", "", "", /* 107 */
+ NONE, "", "", "", "", /* 108 */
+ NONE, "", "", "", "", /* 109 */
+ NONE, "", "", "", "", /* 110 */
+ NONE, "", "", "", "", /* 111 */
+ NONE, "", "", "", "", /* 112 */
+ NONE, "", "", "", "", /* 113 */
+ NONE, "", "", "", "", /* 114 */
+ NONE, "", "", "", "", /* 115 */
+ NONE, "", "", "", "", /* 116 */
+ NONE, "", "", "", "", /* 117 */
+ NONE, "", "", "", "", /* 118 */
+ NONE, "", "", "", "", /* 119 */
+ NONE, "", "", "", "", /* 120 */
+ NONE, "", "", "", "", /* 121 */
+ NONE, "", "", "", "", /* 122 */
+ NONE, "", "", "", "", /* 123 */
+ NONE, "", "", "", "", /* 124 */
+ NONE, "", "", "", "", /* 125 */
+ NONE, "", "", "", "", /* 126 */
+ NONE, "", "", "", "", /* 127 */
};
int unit = PMSUNIT(dev);
struct pms_softc *sc;
- if (unit >= pmscd.cd_ndevs)
+ if (unit >= pms_cd.cd_ndevs)
return ENXIO;
- sc = pmscd.cd_devs[unit];
+ sc = pms_cd.cd_devs[unit];
if (!sc)
return ENXIO;
dev_t dev;
int flag;
{
- struct pms_softc *sc = pmscd.cd_devs[PMSUNIT(dev)];
+ struct pms_softc *sc = pms_cd.cd_devs[PMSUNIT(dev)];
/* Disable interrupts. */
pms_dev_cmd(PMS_DEV_DISABLE);
struct uio *uio;
int flag;
{
- struct pms_softc *sc = pmscd.cd_devs[PMSUNIT(dev)];
+ struct pms_softc *sc = pms_cd.cd_devs[PMSUNIT(dev)];
int s;
int error;
size_t length;
caddr_t addr;
int flag;
{
- struct pms_softc *sc = pmscd.cd_devs[PMSUNIT(dev)];
+ struct pms_softc *sc = pms_cd.cd_devs[PMSUNIT(dev)];
struct mouseinfo info;
int s;
int error;
int rw;
struct proc *p;
{
- struct pms_softc *sc = pmscd.cd_devs[PMSUNIT(dev)];
+ struct pms_softc *sc = pms_cd.cd_devs[PMSUNIT(dev)];
int s;
int ret;