Rev 3675 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3675 | Rev 4377 | ||
---|---|---|---|
Line 34... | Line 34... | ||
34 | 34 | ||
35 | #ifndef KERN_sparc64_SGCN_H_ |
35 | #ifndef KERN_sparc64_SGCN_H_ |
36 | #define KERN_sparc64_SGCN_H_ |
36 | #define KERN_sparc64_SGCN_H_ |
37 | 37 | ||
38 | #include <arch/types.h> |
38 | #include <arch/types.h> |
- | 39 | #include <console/chardev.h> |
|
- | 40 | #include <proc/thread.h> |
|
39 | 41 | ||
40 | /* number of bytes in the TOC magic, including the terminating '\0' */ |
42 | /* number of bytes in the TOC magic, including the NULL-terminator */ |
41 | #define TOC_MAGIC_BYTES 8 |
43 | #define TOC_MAGIC_BYTES 8 |
42 | 44 | ||
43 | /* number of bytes in the TOC key, including the terminating '\0' */ |
45 | /* number of bytes in the TOC key, including the NULL-terminator */ |
44 | #define TOC_KEY_SIZE 8 |
46 | #define TOC_KEY_SIZE 8 |
45 | 47 | ||
46 | /* maximum number of entries in the SRAM table of contents */ |
48 | /* maximum number of entries in the SRAM table of contents */ |
47 | #define MAX_TOC_ENTRIES 32 |
49 | #define MAX_TOC_ENTRIES 32 |
48 | 50 | ||
49 | /* number of bytes in the SGCN buffer magic, including the terminating '\0' */ |
51 | /* number of bytes in the SGCN buffer magic, including the NULL-terminator */ |
50 | #define SGCN_MAGIC_BYTES 4 |
52 | #define SGCN_MAGIC_BYTES 4 |
51 | 53 | ||
52 | /** |
54 | /** |
53 | * Entry in the SRAM table of contents. Describes one segment of the SRAM |
55 | * Entry in the SRAM table of contents. Describes one segment of the SRAM |
54 | * which serves a particular purpose (e.g. OBP serial console, Solaris serial |
56 | * which serves a particular purpose (e.g. OBP serial console, Solaris serial |
Line 113... | Line 115... | ||
113 | 115 | ||
114 | /** offset within the SGCN buffer of the output buffer write pointer */ |
116 | /** offset within the SGCN buffer of the output buffer write pointer */ |
115 | uint32_t out_wrptr; |
117 | uint32_t out_wrptr; |
116 | } __attribute__ ((packed)) sgcn_buffer_header_t; |
118 | } __attribute__ ((packed)) sgcn_buffer_header_t; |
117 | 119 | ||
- | 120 | typedef struct { |
|
- | 121 | thread_t *thread; |
|
- | 122 | indev_t *srlnin; |
|
- | 123 | } sgcn_instance_t; |
|
- | 124 | ||
118 | void sgcn_grab(void); |
125 | extern void sgcn_grab(void); |
119 | void sgcn_release(void); |
126 | extern void sgcn_release(void); |
120 | void sgcn_poll(void); |
127 | extern sgcn_instance_t *sgcnin_init(void); |
- | 128 | extern void sgcnin_wire(sgcn_instance_t *, indev_t *); |
|
121 | void sgcn_init(void); |
129 | extern void sgcnout_init(void); |
122 | 130 | ||
123 | #endif |
131 | #endif |
124 | 132 | ||
125 | /** @} |
133 | /** @} |
126 | */ |
134 | */ |