~kris/9p

9hist

cfee2f19b39241f91b5ac8be5a4bbd5e0856a610 — David du Colombier 28 years ago c23700a
Plan 9 from Bell Labs 1998-08-11
9 files changed, 59 insertions(+), 17 deletions(-)

M pc/devi82365.c
M pc/etherelnk3.c
M pc/pcmciamodem.c
M pc/scsi.c
M pc/trap.c
M port/devcons.c
M port/pgrp.c
M port/portdat.h
M port/portfns.h
M pc/devi82365.c => pc/devi82365.c +5 -3
@@ 461,6 461,8 @@ enum
	Qmem,
	Qattr,
	Qctl,

	Nents = 3,
};

#define SLOTNO(c)	((c->qid.path>>8)&0xff)


@@ 476,12 478,12 @@ pcmgen(Chan *c, Dirtab *, int , int i, Dir *dp)
	Slot *pp;
	char name[NAMELEN];

	if(i >= 3*nslot)
	if(i >= Nents*nslot)
		return -1;
	slotno = i/3;
	slotno = i/Nents;
	pp = slot + slotno;
	len = 0;
	switch(i%3){
	switch(i%Nents){
	case 0:
		qid.path = QID(slotno, Qmem);
		sprint(name, "pcm%dmem", slotno);

M pc/etherelnk3.c => pc/etherelnk3.c +1 -1
@@ 1761,7 1761,7 @@ else
		anlpar = miir(port, phyaddr, 0x05) & 0x03E0;
		anar &= anlpar;
		miir(port, phyaddr, 0x00);
		XCVRDEBUG("mii an: %uX r0:%uX r1:%uX\n",
		XCVRDEBUG("mii an: %uX anlp: %uX r0:%uX r1:%uX\n",
			anar, anlpar, miir(port, phyaddr, 0x00), miir(port, phyaddr, 0x01));
		for(i = 0; i < ether->nopt; i++){
			if(cistrcmp(ether->opt[i], "fullduplex") == 0)

M pc/pcmciamodem.c => pc/pcmciamodem.c +6 -2
@@ 29,7 29,7 @@ void
pcmciamodemlink(void)
{
	ISAConf isa;
	int i, slot;
	int i, j, slot;

	i = 0;
	for(;;){


@@ 49,7 49,11 @@ pcmciamodemlink(void)
		if(isa.port == 0)
			isa.port = 0x2F8;

		slot = pcmspecial(modems[0], &isa);
		for(j = 0; modems[j]; j++){
			slot = pcmspecial(modems[0], &isa);
			if(slot >= 0)
				break;
		}
		if(slot < 0)
			break;
	}

M pc/scsi.c => pc/scsi.c +2 -2
@@ 80,7 80,7 @@ scsireset(void)

			print("scsi#%d: %s: port 0x%luX irq %d",
				ctlrno, ctlr->type, ctlr->port,
				ctlr->irq, ctlr->mem, ctlr->size);
				ctlr->irq);
			if(ctlr->mem)
				print(" addr 0x%luX", PADDR(ctlr->mem));
			if(ctlr->size)


@@ 188,7 188,7 @@ scsiprobe(Ctlr *ctlr)
			print("scsi#%d: unit %d inquire failed, status %d\n", t->ctlrno, i, s);
			continue;
		}
		print("scsi#%d: unit %d: %s\n", t->ctlrno, i, t->inq+8);
		print("scsi#%d: unit %d: %s\n", t->ctlrno, i, (char*)(t->inq+8));
		t->ok = 1;
	}
}

M pc/trap.c => pc/trap.c +7 -7
@@ 235,12 235,12 @@ dumpregs2(Ureg* ureg)
		print("cpu%d: registers for %s %d\n", m->machno, up->text, up->pid);
	else
		print("cpu%d: registers for kernel\n", m->machno);
	print("FLAGS=%luX TRAP=%luX ECODE=%luX PC=%luX", ureg->flags, ureg->trap,
	print("FLAGS=%lux TRAP=%lux ECODE=%lux PC=%lux", ureg->flags, ureg->trap,
		ureg->ecode, ureg->pc);
	print(" SS=%4.4luX USP=%luX\n", ureg->ss & 0xFFFF, ureg->usp);
	print("  AX %8.8luX  BX %8.8luX  CX %8.8luX  DX %8.8luX\n",
	print(" SS=%4.4lux USP=%lux\n", ureg->ss & 0xFFFF, ureg->usp);
	print("  AX %8.8lux  BX %8.8lux  CX %8.8lux  DX %8.8lux\n",
		ureg->ax, ureg->bx, ureg->cx, ureg->dx);
	print("  SI %8.8luX  DI %8.8luX  BP %8.8luX\n",
	print("  SI %8.8lux  DI %8.8lux  BP %8.8lux\n",
		ureg->si, ureg->di, ureg->bp);
	print("  CS %4.4uX  DS %4.4uX  ES %4.4uX  FS %4.4uX  GS %4.4uX\n",
		ureg->cs & 0xFFFF, ureg->ds & 0xFFFF, ureg->es & 0xFFFF,


@@ 264,14 264,14 @@ dumpregs(Ureg* ureg)
	 */
	print("  CR0 %8.8lux CR2 %8.8lux CR3 %8.8lux", getcr0(), getcr2(), getcr3());
	if(m->cpuiddx & 0x9A){
		print(" CR4 %8.8luX", getcr4());
		print(" CR4 %8.8lux", getcr4());
		if((m->cpuiddx & 0xA0) == 0xA0){
			rdmsr(0x00, &mca);
			rdmsr(0x01, &mct);
			print("\n  MCA %8.8lluX MCT %8.8lluX", mca, mct);
			print("\n  MCA %8.8llux MCT %8.8llux", mca, mct);
		}
	}
	print("\n  ur %luX up %luX\n", ureg, up);
	print("\n  ur %lux up %lux\n", ureg, up);
}

void

M port/devcons.c => port/devcons.c +1 -1
@@ 714,7 714,7 @@ consread(Chan *c, void *buf, long n, vlong off)
		return n;

	default:
		print("consread %lux\n", c->qid);
		print("consread %lux\n", c->qid.path);
		error(Egreg);
	}
	return -1;		/* never reached */

M port/pgrp.c => port/pgrp.c +2 -0
@@ 76,6 76,7 @@ closepgrp(Pgrp *p)
		return;

	qlock(&p->debug);
	wlock(&p->ns);
	p->pgrpid = -1;

	e = &p->mnthash[MNTHASH];


@@ 87,6 88,7 @@ closepgrp(Pgrp *p)
			free(f);
		}
	}
	wunlock(&p->ns);
	qunlock(&p->debug);
	free(p);
}

M port/portdat.h => port/portdat.h +34 -0
@@ 709,3 709,37 @@ enum
};

extern int nsyscall;

#pragma	varargck	argpos	print	1
#pragma	varargck	argpos	snprint	3
#pragma	varargck	argpos	sprint	2
#pragma	varargck	argpos	fprint	2

#pragma	varargck	type	"lld"	vlong
#pragma	varargck	type	"llx"	vlong
#pragma	varargck	type	"lld"	uvlong
#pragma	varargck	type	"llx"	uvlong
#pragma	varargck	type	"lx"	void*
#pragma	varargck	type	"ld"	long
#pragma	varargck	type	"lx"	long
#pragma	varargck	type	"ld"	ulong
#pragma	varargck	type	"lx"	ulong
#pragma	varargck	type	"d"	int
#pragma	varargck	type	"x"	int
#pragma	varargck	type	"c"	int
#pragma	varargck	type	"C"	int
#pragma	varargck	type	"d"	uint
#pragma	varargck	type	"x"	uint
#pragma	varargck	type	"c"	uint
#pragma	varargck	type	"C"	uint
#pragma	varargck	type	"f"	double
#pragma	varargck	type	"e"	double
#pragma	varargck	type	"g"	double
#pragma	varargck	type	"s"	char*
#pragma	varargck	type	"S"	Rune*
#pragma	varargck	type	"r"	void
#pragma	varargck	type	"%"	void
#pragma	varargck	type	"I"	uchar*
#pragma	varargck	type	"V"	uchar*
#pragma	varargck	type	"E"	uchar*
#pragma	varargck	type	"M"	uchar*

M port/portfns.h => port/portfns.h +1 -1
@@ 191,7 191,7 @@ int		proccounter(char *name);
void		procctl(Proc*);
void		procdump(void);
void		procinit0(void);
void		procsegflush(Segment*);
void		procflushseg(Segment*);
Proc*		proctab(int);
void		procwired(Proc*);
void		ptclone(Chan*, int, int);