#include #include unsigned base[]={ 0x3f8, 0x2f8, 0x3e8, 0x2e8, 0x3f0, 0x2f0, 0x3e0, 0x2e0, 0x1a8, 0x1a0, 0x198, 0x190, 0 }; char type[6][16]={ "8250", "16450", "16550 w/o SCR", "16550", "16550A w/o SCR", "16550A" }; main() { int i; int t; for (i=0; base[i]; i++) { t=uart_detect_type(base[i]); if (t>=0) { printf("%4.4X %-16s %2d\n",base[i],type[t],uart_detect_intlevel(base[i])); } } }