~kris/9p

9hist

9a9eec6c149c98f14df3678c7ccefbef633a62b7 — David du Colombier 26 years ago 2ca30ab
Plan 9 from Bell Labs 2000-06-21
3 files changed, 15 insertions(+), 7 deletions(-)

M pc/fns.h
M pc/i8253.c
M port/tod.c
M pc/fns.h => pc/fns.h +1 -0
@@ 59,6 59,7 @@ void	kbdinit(void);
void	lgdt(ushort[3]);
void	lidt(ushort[3]);
void	links(void);
void	loopbackintr(void);
void	ltr(ulong);
void	mathinit(void);
void	meminit(ulong);

M pc/i8253.c => pc/i8253.c +8 -1
@@ 124,10 124,17 @@ i8253init(int aalcycles, int havecycleclock)
	}
}

static void
clockintr0(Ureg* ureg, void *v)
{
	loopbackintr();
	clockintr(ureg, v);
}

void
i8253enable(void)
{
	intrenable(IrqCLOCK, clockintr, 0, BUSUNKNOWN, "clock");
	intrenable(IrqCLOCK, clockintr0, 0, BUSUNKNOWN, "clock");
}

/*

M port/tod.c => port/tod.c +6 -6
@@ 141,18 141,18 @@ todget(vlong *ticksp)
}

//
//  called every clock tick
//  called every clock tick to avoid calculation overflows
//
void
todfix(void)
{
	static ulong last;
	vlong ticks, diff;

	ticks = fastticks(nil);

	// once a second, make sure we don't overflow
	if(MACHP(0)->ticks - last >= HZ){
		last = MACHP(0)->ticks;
	diff = ticks - tod.last;
	if(diff > tod.hz)
		todget(nil);
	}
}

long