~kris/9p

9hist

c4c0e64babacbb7bc3bf5dc279f4854d88425837 — David du Colombier 35 years ago 5aebc19
Plan 9 from Bell Labs 1991-03-26
2 files changed, 16 insertions(+), 11 deletions(-)

M port/sysproc.c
M power/devhotrod.c
M port/sysproc.c => port/sysproc.c +2 -1
@@ 474,7 474,8 @@ sysforkpgrp(ulong *arg)
long
sysnotify(ulong *arg)
{
	validaddr(arg[0], sizeof(ulong), 0);
	if(arg[0] != 0)
		validaddr(arg[0], sizeof(ulong), 0);
	u->notify = (int(*)(void*, char*))(arg[0]);
	return 0;
}

M power/devhotrod.c => power/devhotrod.c +14 -10
@@ 422,22 422,26 @@ hotrodintr(int vec)
{
	Hotrod *h;
	Hotmsg *hm;
	ulong l;

	h = &hotrod[vec - Vmevec];
	if(h < hotrod || h > &hotrod[Nhotrod]){
	if(h<hotrod || h>&hotrod[Nhotrod]){
		print("bad hotrod vec\n");
		return;
	}
	h->addr->lcsr3 &= ~INT_VME;
	hm = (Hotmsg*)VME2MP(h->rq[h->ri]);
	h->rq[h->ri] = 0;
	h->ri++;
	if(h->ri >= NRQ)
		h->ri = 0;
	hm->intr = 1;
	if(hm->abort)
		return;
	wakeup(&hm->r);
	while(l = h->rq[h->ri]){	/* assign = */
		hm = (Hotmsg*)(VME2MP(l));
		h->rq[h->ri] = 0;
		h->ri++;
		if(h->ri >= NRQ)
			h->ri = 0;
		hm->intr = 1;
		if(hm->abort)
			print("abort wakeup\n");
		else
			wakeup(&hm->r);
	}
}

#ifdef	ENABMEMTEST