xref: /minix/minix/lib/libsys/arch/i386/ser_putc.c (revision 7f5f010b)
1 #include "sysutil.h"
2 
3 #define COM1_BASE       0x3F8
4 #define COM1_THR        (COM1_BASE + 0)
5 #define         LSR_THRE        0x20
6 #define COM1_LSR        (COM1_BASE + 5)
7 
8 /*===========================================================================*
9  *                               ser_putc			    	     *
10  *===========================================================================*/
11 void ser_putc(char c)
12 {
13         u32_t b;
14         int i;
15         int lsr, thr;
16 
17         lsr= COM1_LSR;
18         thr= COM1_THR;
19         for (i= 0; i<10000; i++)
20         {
21                 if (sys_inb(lsr, &b) != OK)
22 			return;
23                 if (b & LSR_THRE)
24                         break;
25         }
26         sys_outb(thr, c);
27 }
28