~kris/9p

9hist

fd2f71bd9f41a7984b92d8300f1f2254c207cbee — David du Colombier 32 years ago 909d60a
Plan 9 from Bell Labs 1994-06-02
3 files changed, 54 insertions(+), 2 deletions(-)

M pc/fns.h
M pc/l.s
M port/segment.c
M pc/fns.h => pc/fns.h +19 -0
@@ 96,3 96,22 @@ int	x86(void);
void	NS16552special(int, int, Queue**, Queue**, int (*)(Queue*, int));
int	NS16552m3mouse(Queue*, int);
int	NS16552mouse(Queue*, int);

void	hnputl(void*, ulong v);
void	hnputs(void*, ushort v);
ulong	nhgetl(void*);
ushort	nhgets(void*);

void	ifwrite(void*, Block*, int);
void*	ifinit(int);
ulong	ifaddr(void*);
void	filiput(Block*);
void	fiberint(Ureg*, void*);
ulong	fwblock(ulong, void*, ulong);
ulong	frblock(ulong, void*, ulong);
void	ifree(void*);
void	ifflush(void*);
Block*	iallocb(int);
void*	ifroute(ulong);
ulong	ifunroute(ulong);
void	parseip(char*, char*);

M pc/l.s => pc/l.s +33 -0
@@ 747,3 747,36 @@ bybyte:
	MOVL	BX, CX
	REP;	MOVSB
	RET

/*
 * Fiber block copy routines
 */
TEXT	fwblock(SB),$0
	MOVL	p+0(FP),DX
	MOVL	a+4(FP),SI
	MOVL	$128,CX
	CLD; REP; OUTSL

	MOVL	p+0(FP),DX
	MOVL	$128,CX
	MOVL	csum+8(FP), AX
wcsum:
	XORL	0(DX), AX
	ADDL	$4,DX
	LOOP	rcsum	
	RET

TEXT	frblock(SB),$0
	MOVL	p+0(FP),DX
	MOVL	a+4(FP),SI
	MOVL	$128,CX
	CLD; REP; INSL

	MOVL	p+0(FP),DX
	MOVL	$128,CX
	MOVL	csum+8(FP), AX
rcsum:
	XORL	0(DX), AX
	ADDL	$4,DX
	LOOP	rcsum	
	RET

M port/segment.c => port/segment.c +2 -2
@@ 273,8 273,8 @@ imagereclaim(void)

	lock(&palloc);
	for(p = palloc.head; p; p = p->next) {
		if(p->image && p->ref == 0 && p->image != &swapimage && canlock(p)) {
			if(p->ref == 0)
		if(p->ref == 0 && p->image && canlock(p)) {
			if(p->ref == 0 && p->image != &swapimage)
				uncachepage(p);
			unlock(p);
		}