5 #define STR(X) __STR(X)
10 #if defined(SERIAL_CONSOLE)
11 #define __CONSOLE_INLINE_TX_AL TTYS0_TX_AL
13 #define __CONSOLE_INLINE_TX_AL
16 /* uses: esp, ax, dx */
17 #define __CONSOLE_TX_CHAR(byte) \
22 #define __CONSOLE_INLINE_TX_CHAR(byte) \
24 __CONSOLE_INLINE_TX_AL
26 /* uses: esp, ax, edx */
27 #define __CONSOLE_TX_HEX8(byte) \
29 CALLSP(console_tx_hex8)
31 /* uses: byte, ax, dx */
32 #define __CONSOLE_INLINE_TX_HEX8(byte) \
41 __CONSOLE_INLINE_TX_AL ; \
50 __CONSOLE_INLINE_TX_AL
52 /* uses: esp, eax, ebx, dx */
53 #define __CONSOLE_TX_HEX32(lword) \
55 CALLSP(console_tx_hex32)
57 /* uses: eax, lword, dx */
58 #define __CONSOLE_INLINE_TX_HEX32(lword) \
66 __CONSOLE_INLINE_TX_AL ; \
76 __CONSOLE_INLINE_TX_AL ; \
86 __CONSOLE_INLINE_TX_AL ; \
96 __CONSOLE_INLINE_TX_AL ; \
106 __CONSOLE_INLINE_TX_AL ; \
116 __CONSOLE_INLINE_TX_AL ; \
126 __CONSOLE_INLINE_TX_AL ; \
135 __CONSOLE_INLINE_TX_AL
138 /* uses: esp, ebx, ax, dx */
139 #define __CONSOLE_TX_STRING(string) \
141 CALLSP(console_tx_string)
143 /* uses: ebx, ax, dx */
144 #define __CONSOLE_INLINE_TX_STRING(string) \
145 movl string, %ebx ; \
146 10: movb (%ebx), %al ; \
150 __CONSOLE_INLINE_TX_AL ; \
155 #define CONSOLE_EMERG_TX_CHAR(byte) __CONSOLE_TX_CHAR(byte)
156 #define CONSOLE_EMERG_INLINE_TX_CHAR(byte) __CONSOLE_INLINE_TX_CHAR(byte)
157 #define CONSOLE_EMERG_TX_HEX8(byte) __CONSOLE_TX_HEX8(byte)
158 #define CONSOLE_EMERG_INLINE_TX_HEX8(byte) __CONSOLE_INLINE_TX_HEX8(byte)
159 #define CONSOLE_EMERG_TX_HEX32(lword) __CONSOLE_TX_HEX32(lword)
160 #define CONSOLE_EMERG_INLINE_TX_HEX32(lword) __CONSOLE_INLINE_TX_HEX32(lword)
161 #define CONSOLE_EMERG_TX_STRING(string) __CONSOLE_TX_STRING(string)
162 #define CONSOLE_EMERG_INLINE_TX_STRING(string) __CONSOLE_INLINE_TX_STRING(string)
164 #define CONSOLE_ALERT_TX_CHAR(byte) __CONSOLE_TX_CHAR(byte)
165 #define CONSOLE_ALERT_INLINE_TX_CHAR(byte) __CONSOLE_INLINE_TX_CHAR(byte)
166 #define CONSOLE_ALERT_TX_HEX8(byte) __CONSOLE_TX_HEX8(byte)
167 #define CONSOLE_ALERT_INLINE_TX_HEX8(byte) __CONSOLE_INLINE_TX_HEX8(byte)
168 #define CONSOLE_ALERT_TX_HEX32(lword) __CONSOLE_TX_HEX32(lword)
169 #define CONSOLE_ALERT_INLINE_TX_HEX32(lword) __CONSOLE_INLINE_TX_HEX32(lword)
170 #define CONSOLE_ALERT_TX_STRING(string) __CONSOLE_TX_STRING(string)
171 #define CONSOLE_ALERT_INLINE_TX_STRING(string) __CONSOLE_INLINE_TX_STRING(string)
173 #define CONSOLE_CRIT_TX_CHAR(byte) __CONSOLE_TX_CHAR(byte)
174 #define CONSOLE_CRIT_INLINE_TX_CHAR(byte) __CONSOLE_INLINE_TX_CHAR(byte)
175 #define CONSOLE_CRIT_TX_HEX8(byte) __CONSOLE_TX_HEX8(byte)
176 #define CONSOLE_CRIT_INLINE_TX_HEX8(byte) __CONSOLE_INLINE_TX_HEX8(byte)
177 #define CONSOLE_CRIT_TX_HEX32(lword) __CONSOLE_TX_HEX32(lword)
178 #define CONSOLE_CRIT_INLINE_TX_HEX32(lword) __CONSOLE_INLINE_TX_HEX32(lword)
179 #define CONSOLE_CRIT_TX_STRING(string) __CONSOLE_TX_STRING(string)
180 #define CONSOLE_CRIT_INLINE_TX_STRING(string) __CONSOLE_INLINE_TX_STRING(string)
182 #define CONSOLE_ERR_TX_CHAR(byte) __CONSOLE_TX_CHAR(byte)
183 #define CONSOLE_ERR_INLINE_TX_CHAR(byte) __CONSOLE_INLINE_TX_CHAR(byte)
184 #define CONSOLE_ERR_TX_HEX8(byte) __CONSOLE_TX_HEX8(byte)
185 #define CONSOLE_ERR_INLINE_TX_HEX8(byte) __CONSOLE_INLINE_TX_HEX8(byte)
186 #define CONSOLE_ERR_TX_HEX32(lword) __CONSOLE_TX_HEX32(lword)
187 #define CONSOLE_ERR_INLINE_TX_HEX32(lword) __CONSOLE_INLINE_TX_HEX32(lword)
188 #define CONSOLE_ERR_TX_STRING(string) __CONSOLE_TX_STRING(string)
189 #define CONSOLE_ERR_INLINE_TX_STRING(string) __CONSOLE_INLINE_TX_STRING(string)
191 #define CONSOLE_WARNING_TX_CHAR(byte) __CONSOLE_TX_CHAR(byte)
192 #define CONSOLE_WARNING_INLINE_TX_CHAR(byte) __CONSOLE_INLINE_TX_CHAR(byte)
193 #define CONSOLE_WARNING_TX_HEX8(byte) __CONSOLE_TX_HEX8(byte)
194 #define CONSOLE_WARNING_INLINE_TX_HEX8(byte) __CONSOLE_INLINE_TX_HEX8(byte)
195 #define CONSOLE_WARNING_TX_HEX32(lword) __CONSOLE_TX_HEX32(lword)
196 #define CONSOLE_WARNING_INLINE_TX_HEX32(lword) __CONSOLE_INLINE_TX_HEX32(lword)
197 #define CONSOLE_WARNING_TX_STRING(string) __CONSOLE_TX_STRING(string)
198 #define CONSOLE_WARNING_INLINE_TX_STRING(string) __CONSOLE_INLINE_TX_STRING(string)
200 #define CONSOLE_NOTICE_TX_CHAR(byte) __CONSOLE_TX_CHAR(byte)
201 #define CONSOLE_NOTICE_INLINE_TX_CHAR(byte) __CONSOLE_INLINE_TX_CHAR(byte)
202 #define CONSOLE_NOTICE_TX_HEX8(byte) __CONSOLE_TX_HEX8(byte)
203 #define CONSOLE_NOTICE_INLINE_TX_HEX8(byte) __CONSOLE_INLINE_TX_HEX8(byte)
204 #define CONSOLE_NOTICE_TX_HEX32(lword) __CONSOLE_TX_HEX32(lword)
205 #define CONSOLE_NOTICE_INLINE_TX_HEX32(lword) __CONSOLE_INLINE_TX_HEX32(lword)
206 #define CONSOLE_NOTICE_TX_STRING(string) __CONSOLE_TX_STRING(string)
207 #define CONSOLE_NOTICE_INLINE_TX_STRING(string) __CONSOLE_INLINE_TX_STRING(string)
209 #define CONSOLE_INFO_TX_CHAR(byte) __CONSOLE_TX_CHAR(byte)
210 #define CONSOLE_INFO_INLINE_TX_CHAR(byte) __CONSOLE_INLINE_TX_CHAR(byte)
211 #define CONSOLE_INFO_TX_HEX8(byte) __CONSOLE_TX_HEX8(byte)
212 #define CONSOLE_INFO_INLINE_TX_HEX8(byte) __CONSOLE_INLINE_TX_HEX8(byte)
213 #define CONSOLE_INFO_TX_HEX32(lword) __CONSOLE_TX_HEX32(lword)
214 #define CONSOLE_INFO_INLINE_TX_HEX32(lword) __CONSOLE_INLINE_TX_HEX32(lword)
215 #define CONSOLE_INFO_TX_STRING(string) __CONSOLE_TX_STRING(string)
216 #define CONSOLE_INFO_INLINE_TX_STRING(string) __CONSOLE_INLINE_TX_STRING(string)
218 #define CONSOLE_DEBUG_TX_CHAR(byte) __CONSOLE_TX_CHAR(byte)
219 #define CONSOLE_DEBUG_INLINE_TX_CHAR(byte) __CONSOLE_INLINE_TX_CHAR(byte)
220 #define CONSOLE_DEBUG_TX_HEX8(byte) __CONSOLE_TX_HEX8(byte)
221 #define CONSOLE_DEBUG_INLINE_TX_HEX8(byte) __CONSOLE_INLINE_TX_HEX8(byte)
222 #define CONSOLE_DEBUG_TX_HEX32(lword) __CONSOLE_TX_HEX32(lword)
223 #define CONSOLE_DEBUG_INLINE_TX_HEX32(lword) __CONSOLE_INLINE_TX_HEX32(lword)
224 #define CONSOLE_DEBUG_TX_STRING(string) __CONSOLE_TX_STRING(string)
225 #define CONSOLE_DEBUG_INLINE_TX_STRING(string) __CONSOLE_INLINE_TX_STRING(string)
227 #define CONSOLE_SPEW_TX_CHAR(byte) __CONSOLE_TX_CHAR(byte)
228 #define CONSOLE_SPEW_INLINE_TX_CHAR(byte) __CONSOLE_INLINE_TX_CHAR(byte)
229 #define CONSOLE_SPEW_TX_HEX8(byte) __CONSOLE_TX_HEX8(byte)
230 #define CONSOLE_SPEW_INLINE_TX_HEX8(byte) __CONSOLE_INLINE_TX_HEX8(byte)
231 #define CONSOLE_SPEW_TX_HEX32(lword) __CONSOLE_TX_HEX32(lword)
232 #define CONSOLE_SPEW_INLINE_TX_HEX32(lword) __CONSOLE_INLINE_TX_HEX32(lword)
233 #define CONSOLE_SPEW_TX_STRING(string) __CONSOLE_TX_STRING(string)
234 #define CONSOLE_SPEW_INLINE_TX_STRING(string) __CONSOLE_INLINE_TX_STRING(string)
236 /* uses: esp, ax, dx */
238 __CONSOLE_INLINE_TX_AL
241 /* uses: esp, ax, edx */
243 __CONSOLE_INLINE_TX_HEX8(%al)
247 /* uses: esp, ebx, eax, dx */
256 __CONSOLE_INLINE_TX_AL
266 __CONSOLE_INLINE_TX_AL
276 __CONSOLE_INLINE_TX_AL
286 __CONSOLE_INLINE_TX_AL
296 __CONSOLE_INLINE_TX_AL
306 __CONSOLE_INLINE_TX_AL
316 __CONSOLE_INLINE_TX_AL
325 __CONSOLE_INLINE_TX_AL
328 /* Uses esp, ebx, ax, dx */
337 __CONSOLE_INLINE_TX_AL
338 jmp console_tx_string