~kris/9p

9hist

a538d0612982538e6b7e45060f45aaf7f5f56c41 — David du Colombier 34 years ago 1855f19
Plan 9 from Bell Labs 1992-09-16
3 files changed, 13 insertions(+), 9 deletions(-)

M gnot/dat.h
M gnot/devport.c
M pc/devether.c
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);