~kris/9p

9hist

802698473ed56bda9c012053c0cd031f07908e9b — David du Colombier 27 years ago d203263
Plan 9 from Bell Labs 1999-04-30
3 files changed, 15 insertions(+), 9 deletions(-)

M alphapc/clock.c
M ip/il.c
M pc/devlml.c
M alphapc/clock.c => alphapc/clock.c +6 -3
@@ 44,6 44,7 @@ uvlong
cycletimer(void)
{
	ulong pcc;
	vlong delta;

	pcc = rpcc(nil) & 0xFFFFFFFF;
	if(m->cpuhz == 0){


@@ 60,10 61,11 @@ cycletimer(void)
		m->cpuhz = hwrpb->cfreq;
		m->pcclast = pcc;
	}
	if(pcc < m->pcclast)
		m->fastclock += 0x100000000LL;
	m->fastclock += pcc;
	delta = pcc - m->pcclast;
	if(delta < 0)
		delta += 0x100000000LL;
	m->pcclast = pcc;
	m->fastclock += delta;

	return MACHP(0)->fastclock;
}


@@ 106,6 108,7 @@ clock(Ureg *ur)
	Clock0link *lp;
	static int count;

	cycletimer();
	/* HZ == 100, timer == 1024Hz.  error < 1ms */
	count += 100;
	if (count < 1024)

M ip/il.c => ip/il.c +4 -3
@@ 350,7 350,7 @@ ilkick(Conv *c, int l)
		ic->rttlen = dlen + IL_IPSIZE + IL_HDRSIZE;
	}

	if(later(msec, ic->timeout, "ilkick"))
	if(later(msec, ic->timeout, nil))
		ilsettimeout(ic);
	ipoput(f, bp, 0, c->ttl);
}


@@ 1035,12 1035,13 @@ later(ulong t1, ulong t2, char *x)

	dt = t1 - t2;
	if(dt > 0) {
		if(dt > Tfuture)
		if(x != nil && dt > Tfuture)
			print("%s: way future %d\n", x, dt);
		return 1;
	}
	if(dt < -Tfuture) {
		print("%s: way past %d\n", x, -dt);
		if(x != nil)
			print("%s: way past %d\n", x, -dt);
		return 1;
	}
	return 0;

M pc/devlml.c => pc/devlml.c +5 -3
@@ 405,8 405,8 @@ vwrite(Chan *, void *va, long count, vlong pos) {
			memmove((char*)&frameHeader + hdrPos, buf, hdrLeft);
			// Make sure we have a standard LML33 header
			if (frameHeader.mrkSOI == MRK_SOI
			 && frameHeader.mrkAPP3==MRK_APP3
			 && strcmp(frameHeader.nm,APP_NAME) == 0) {
			 && frameHeader.mrkAPP3 == MRK_APP3
			 && strcmp(frameHeader.nm, APP_NAME) == 0) {
				//print("Starting new buffer len=0x%x frame=%d\n", frameHeader.frameSize, frameHeader.frameSeqNo);
				// Obtain values we need for playback process from the header
				currentBufferLength = frameHeader.frameSize;


@@ 609,16 609,18 @@ vidread(Chan *c, void *va, long n, vlong off) {
		}
		return 1;
	case Qreg:
		if (off < 0 || off + n > 0x200 || (off & 0x3))
		if (off < 0 || off + n > 0x400)
			return 0;
		switch(n) {
		case 1:
			*buf = readb(pciBaseAddr + off);
			break;
		case 2:
			if (off & (n-1)) return 0;
			*(short *)buf = readw(pciBaseAddr + off);
			break;
		case 4:
			if (off & (n-1)) return 0;
			*(long *)buf = readl(pciBaseAddr + off);
			break;
		default: