~kris/9p

9hist

abda8f69cb752733b55308802c5bdc4f419703d5 — David du Colombier 35 years ago 143d26f
Plan 9 from Bell Labs 1991-06-03
2 files changed, 19 insertions(+), 8 deletions(-)

M port/alarm.c
M port/devwren.c
M port/alarm.c => port/alarm.c +3 -1
@@ 73,6 73,8 @@ alarminit(void)
		lock(&alarmtab[i]);	/* allocate locks, as they are used at interrupt time */
		unlock(&alarmtab[i]);
	}
	qlock(&alarms);
	qunlock(&alarms);
}

#define NA 10		/* alarms per clock tick */


@@ 123,8 125,8 @@ checkalarms(void)
			}
			alarms.head = rp->palarm;
		}
		qunlock(&alarms);
	}
	qunlock(&alarms);
}

ulong

M port/devwren.c => port/devwren.c +16 -7
@@ 37,6 37,8 @@ struct Disk

static Disk	wren[Ndisk];

void	wrenint(uchar*, ulong);

#define	DATASIZE	(8*1024)	/* BUG */

#define	BGLONG(p)	(((((((p)[0]<<8)|(p)[1])<<8)|(p)[2])<<8)|(p)[3])


@@ 195,8 197,6 @@ void
wrenclose(Chan *c)
{}

#define	PSHORT(p, v)		((p)[0]=(v), (p)[1]=((v)>>8))
#define	PLONG(p, v)		(PSHORT(p, (v)), PSHORT(p+2, (v)>>16))
long
wrenread(Chan *c, char *a, long n, ulong offset)
{


@@ 237,13 237,13 @@ wrenread(Chan *c, char *a, long n, ulong offset)
		qunlock(cmd);
		break;
	case Qstruct:
		if (n < 8)
		if (n < 2*sizeof(ulong))
			error(Ebadarg);
		if (offset >= 8)
		if (offset >= 2*sizeof(ulong))
			return 0;
		n = 8;
		PLONG((uchar *)&a[0], p->maxblock - p->firstblock);
		PLONG((uchar *)&a[4], d->blocksize);
		n = 2*sizeof(ulong);
		wrenint((uchar*)a, p->maxblock - p->firstblock);
		wrenint((uchar*)a+sizeof(ulong), d->blocksize);
		break;
	default:
		panic("wrenread");


@@ 304,3 304,12 @@ wrenwstat(Chan *c, char *dp)
{
	error(Eperm);
}

void
wrenint(uchar *a, ulong x)
{
	a[0] = x >> 24;
	a[1] = x >> 16;
	a[2] = x >> 8;
	a[3] = x;
}