Annotation of funnyos/arch/testarm/dev/tacons.c, Revision 1.1.1.1
1.1 init 1: /*
2: * $Id: tacons.c,v 1.1.1.1 2007/10/12 08:40:36 init Exp $
3: */
4: #include <sys/types.h>
5: #include <sys/device.h>
6: #include <sys/bus.h>
7: #include <arch/testarm/dev/taconsreg.h>
8: #include <dev/fcons/fconsvar.h>
9: #include <libkern/printf.h>
10:
11: /*
12: * testarm console support.
13: */
14:
15: #if 0
16: struct consoleops tacons_dd[NTACONS];
17:
18: int tacons_attach(struct device *);
19: char tacons_getc(struct device *);
20: void tacons_putc(struct device *, char);
21: void tacons_early_putc(char);
22:
23:
24: int
25: tacons_attach(struct device *self)
26: {
27: struct consoleops *aux = self->dv_aux;
28: aux = kmalloc(sizeof(struct consoleops));
29:
30: aux->getc = tacons_getc;
31: aux->putc = tacons_putc;
32:
33: printf("testarm simple console (non-blocking, halt)\n");
34:
35: /*
36: * XXX test putc() & getc()
37: * and TODO: think carefully about console abstraction layer and early printf's
38: * in particular printing root/0, obio and cpu at the fcons during attachment.
39: */
40:
41: return(0);
42: }
43:
44:
45: char
46: tacons_getc(struct device *devp)
47: {
48: /*
49: * Get a character from the console.
50: * Remember that this console is non-blocking.
51: */
52:
53: return( bus_read_1(devp->dv_parent, devp->dv_locator ? devp->dv_locator + TACONS_OFF_IO : TACONS_REG_BASE + TACONS_OFF_IO) );
54:
55: }
56:
57:
58: void
59: tacons_putc(struct device *devp, char ch)
60: {
61: /*
62: * Write a character to the console.
63: */
64:
65: bus_write_1(devp->dv_parent, devp->dv_locator ? devp->dv_locator + TACONS_OFF_IO : TACONS_REG_BASE + TACONS_OFF_IO, ch);
66:
67: return;
68: }
69:
70: #endif /* not 0 */
71: void
72: tacons_early_putc(char ch)
73: {
74: /*
75: * put a character on the unconfigured console device.
76: * This will be used during devconfig until fcons/0 is configured.
77: */
78:
79: *(char *)(TACONS_REG_BASE + TACONS_OFF_IO) = ch;
80: }
81:
CVSweb