projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added support for the 16 port Boca via a flag to specify that there is
[unix-history]
/
sys
/
i386
/
isa
/
sio.c
diff --git
a/sys/i386/isa/sio.c
b/sys/i386/isa/sio.c
index
b09a702
..
ad09f7a
100644
(file)
--- a/
sys/i386/isa/sio.c
+++ b/
sys/i386/isa/sio.c
@@
-31,7
+31,7
@@
* SUCH DAMAGE.
*
* from: @(#)com.c 7.5 (Berkeley) 5/16/91
* SUCH DAMAGE.
*
* from: @(#)com.c 7.5 (Berkeley) 5/16/91
- * $Id: sio.c,v 1.4
3 1994/04/03 11:41:11
ache Exp $
+ * $Id: sio.c,v 1.4
4 1994/04/03 12:25:57
ache Exp $
*/
#include "sio.h"
*/
#include "sio.h"
@@
-83,6
+83,7
@@
*/
#define COM_ISMULTIPORT(dev) ((dev)->id_flags & 0x01)
#define COM_MPMASTER(dev) (((dev)->id_flags >> 8) & 0x0ff)
*/
#define COM_ISMULTIPORT(dev) ((dev)->id_flags & 0x01)
#define COM_MPMASTER(dev) (((dev)->id_flags >> 8) & 0x0ff)
+#define COM_NOMASTER(dev) ((dev)->id_flags & 0x04)
#endif /* COM_MULTIPORT */
#define COM_NOFIFO(dev) ((dev)->id_flags & 0x02)
#endif /* COM_MULTIPORT */
#define COM_NOFIFO(dev) ((dev)->id_flags & 0x02)
@@
-511,10
+512,12
@@
determined_type: ;
#ifdef COM_MULTIPORT
if (COM_ISMULTIPORT(isdp)) {
#ifdef COM_MULTIPORT
if (COM_ISMULTIPORT(isdp)) {
- struct isa_device *masterdev;
+ com->multiport = TRUE;
+ printf(" (multiport)");
- com->multiport = TRUE;
- printf(" (multiport)");
+ /* Note: some cards have no master port (e.g., BocaBoards) */
+ if (!COM_NOMASTER(isdp)) {
+ struct isa_device *masterdev;
/* set the master's common-interrupt-enable reg.,
* as appropriate. YYY See your manual
/* set the master's common-interrupt-enable reg.,
* as appropriate. YYY See your manual
@@
-525,6
+528,8
@@
determined_type: ;
masterdev = find_isadev(isa_devtab_tty, &siodriver,
COM_MPMASTER(isdp));
outb(masterdev->id_iobase + com_scr, 0x80);
masterdev = find_isadev(isa_devtab_tty, &siodriver,
COM_MPMASTER(isdp));
outb(masterdev->id_iobase + com_scr, 0x80);
+ }
+
} else
com->multiport = FALSE;
#endif /* COM_MULTIPORT */
} else
com->multiport = FALSE;
#endif /* COM_MULTIPORT */