M gnot/dat.h => gnot/dat.h +2 -4
@@ 80,7 80,7 @@ struct Conf
int nisdn; /* number of isdn interfaces */
int nlapd; /* number of dragnet protocol modules */
int copymode; /* 0 is copy on write, 1 is copy on reference */
- int portispaged; /* ??? */
+ int portispaged; /* 1 if extended I/O port addresses */
int nconc; /* number of datakit concentrators */
};
@@ 129,15 129,13 @@ struct Mach
struct Portpage
{
- union {
+ union{
Lock;
QLock;
};
int select;
};
-extern int portispaged;
-
#define NERR 25
#define NNOTE 5
struct User
M gnot/devport.c => gnot/devport.c +10 -4
@@ 11,10 11,16 @@
#define ROMADDR 0x40000000
#define ROMSIZE ((256*1024)/8)
-#define P_oper(sel, inst) (P_qlock(sel), inst, P_qunlock(sel))
-#define P_qlock(sel) (sel >= 0 ? (qlock(&portpage), \
- PORTSELECT = portpage.select = sel) : -1)
-#define P_qunlock(sel) (sel >= 0 ? (qunlock(&portpage),0) : -1)
+#define P_qlock(sel) if(sel >= 0){\
+ qlock(&portpage);\
+ PORTSELECT = portpage.select = sel;\
+ }else
+
+#define P_qunlock(sel) if(sel >= 0){\
+ qunlock(&portpage);\
+ }else
+
+#define P_oper(sel, inst) P_qlock(sel); inst; P_qunlock(sel)
#define P_read(sel, addr, val, type) P_oper(sel, val = *(type *)(PORT+addr))
#define P_write(sel, addr, val, type) P_oper(sel, *(type *)(PORT+addr) = val)
M pc/devether.c => pc/devether.c +1 -1
@@ 738,7 738,7 @@ dp8390init(Ctlr *cp)
OUT(hw, w.cr, 0x21); /* Page0|RD2|STP */
if(hw->bt16)
- OUT(hw, w.dcr, 0x61); /* 16 bit interface */
+ OUT(hw, w.dcr, 0x01); /* 16 bit interface */
else
OUT(hw, w.dcr, 0x48); /* FT1|LS */
OUT(hw, w.rbcr0, 0);