~kris/9p

9hist

282a48582d4a5730446504b447fb7da5445fd04f — David du Colombier 32 years ago 343898b
Plan 9 from Bell Labs 1993-12-08
4 files changed, 17 insertions(+), 4 deletions(-)

M carrera/devether.c
M carrera/l.s
M carrera/main.c
M carrera/mmu.c
M carrera/devether.c => carrera/devether.c +2 -2
@@ 690,12 690,12 @@ etherloop(Etherpkt *p, long n)
	Netfile *f, **fp;

	different = memcmp(p->d, p->s, sizeof(p->s));
	if(different && memcmp(p->d, ether.bcast, sizeof(p->d)))
	if(different && memcmp(p->d, ether[0]->bcast, sizeof(p->d)))
		return 0;

	s = splhi();
	t = (p->type[0]<<8) | p->type[1];
	for(fp = ether.f; fp < &ether.f[Ntypes]; fp++) {
	for(fp = ether[0]->f; fp < &ether[0]->f[Ntypes]; fp++) {
		f = *fp;
		if(f == 0)
			continue;

M carrera/l.s => carrera/l.s +1 -1
@@ 212,7 212,7 @@ TEXT	getrandom(SB),$0
	WAIT
	RET

TEXT	puttlbx(SB), $0
TEXT	puttlbxx(SB), $0

	MOVW	4(FP), R2
	MOVW	8(FP), R3

M carrera/main.c => carrera/main.c +13 -1
@@ 197,13 197,25 @@ ioinit(int mapeisa)

	puttlbx(2, Intctlvirt, intphys, isamphys, PGSZ1M);

	/* Enable all devce interrupt */
	/* Enable all device interrupts */
	IO(ushort, Intenareg) = 0xffff;

	/* Look at the first 16M of Eisa memory */
/*	IO(uchar, EisaLatch) = 0; /**/
}

void	puttlbxx(int, ulong, ulong, ulong, int);
void	puttlbx(int a, ulong b, ulong c, ulong d, int e)
{
	static int done[4];

	if(((c|d)&PTEVALID) && a < 4){
		if(done[a]++)
			puttlbx(a, b, c, d, e);
	}
	puttlbxx(a, b, c, d, e);
}

/*
 * Pull the ethernet address out of NVRAM
 */

M carrera/mmu.c => carrera/mmu.c +1 -0
@@ 128,6 128,7 @@ kunmap(KMap *k)

	s = splhi();
	if(decref(k) == 0) {
puttlb((k->virt & ~BY2PG) | TLBPID(tlbvirt()), k->phys0 & ~PTEVALID, k->phys1 & ~PTEVALID);
		k->virt = 0;
		k->phys0 = 0;
		k->phys1 = 0;