~kris/9p

9hist

f568417427d1845e224f8cef3c24b50cf469626b — David du Colombier 35 years ago 9b1a63e
Plan 9 from Bell Labs 1991-07-25
5 files changed, 12 insertions(+), 9 deletions(-)

M gnot/l.s
M gnot/trap.c
M pc/trap.c
M power/devhotrod.c
M power/trap.c
M gnot/l.s => gnot/l.s +0 -1
@@ 170,7 170,6 @@ TEXT	rfnote(SB), $0
	MOVL	A0, USP
	MOVEM	(A7), $0x7FFF
	ADDL	$((8+8+1+1)*BY2WD), A7
	MOVL	$-1, R0			/* note causes error in sys call */
	RTE

TEXT	illegal(SB), $0

M gnot/trap.c => gnot/trap.c +1 -2
@@ 211,7 211,6 @@ noted(Ureg *ur, ulong arg0)
	}
	u->notified = 0;
	memmove(ur, u->ureg, sizeof(Ureg));
	ur->r0 = -1;	/* return error from the interrupted call */
	switch(arg0){
	case NCONT:
		splhi();


@@ 344,7 343,7 @@ syscall(Ureg *aur)

	if(r0 == NOTED)		/* ugly hack */
		noted(aur, *(ulong*)(sp+BY2WD));	/* doesn't return */
	if(u->nnote){
	if(u->nnote && r0!=FORK){
		ur->r0 = ret;
		notify(ur);
	}

M pc/trap.c => pc/trap.c +3 -4
@@ 256,10 256,9 @@ syscall(Ureg *ur)
		panic("error stack");
	}
	u->p->insyscall = 0;
	if(ax == NOTED){
	if(ax == NOTED)
		noted(ur, *(ulong*)(sp+BY2WD));
		ret = -1;
	} else if(u->nnote && ax!=FORK){
	else if(u->nnote && ax!=FORK){
		ur->ax = ret;
		notify(ur);
	}


@@ 346,7 345,7 @@ noted(Ureg *ur, ulong arg0)
	u->notified = 0;
	nur->flags = (u->svflags&0xffffff00) | (ur->flags&0xff);
	memmove(ur, u->ureg, sizeof(Ureg));
	ur->ax = -1;	/* return error from the interrupted syscall */
/*	ur->ax = -1;	/* return error from the interrupted syscall */
	switch(arg0){
	case NCONT:
		splhi();

M power/devhotrod.c => power/devhotrod.c +7 -0
@@ 204,7 204,14 @@ hotrodopen(Chan *c, int omode)
		hotwait(hmp);
		delay(100);
		print("testing addr %lux size %ld\n", mp->param[0], mp->param[1]);
		if(mp->param[0] == MP2VME(testbuf)){
			print("no way jose\n");
			unlock(&hp->busy);
			error(Egreg);
		}
			
		for(;;){
for(;;);
			print("-");
			mem(hp->addr, &hp->addr->ram[(mp->param[0]-0x40000)/sizeof(ulong)], mp->param[1]);
		}

M power/trap.c => power/trap.c +1 -2
@@ 438,7 438,6 @@ noted(Ureg **urp, ulong arg0)
	}
	u->notified = 0;
	memmove(*urp, u->ureg, sizeof(Ureg));
	(*urp)->r1 = -1;	/* return error from the interrupted call */
	switch(arg0){
	case NCONT:
		splhi();


@@ 572,7 571,7 @@ syscall(Ureg *aur)
	u->p->insyscall = 0;
	if(r1 == NOTED)	/* ugly hack */
		noted(&aur, *(ulong*)(sp+BY2WD));	/* doesn't return */
	if(u->nnote){
	if(u->nnote && r1!=FORK){
		ur->r1 = ret;
		notify(ur);
	}