~kris/9p

9hist

6042a76341cc12d66d4e262c735d829d2128e8d3 — David du Colombier 33 years ago 07abaf5
Plan 9 from Bell Labs 1993-02-06
11 files changed, 20 insertions(+), 37 deletions(-)

M pc/dat.h
M pc/devvga.c
M pc/main.c
M port/devarp.c
M port/devboot.c
M power/conf.h
M power/dat.h
M power/l.s
M power/main.c
M ss/dat.h
M ss/main.c
M pc/dat.h => pc/dat.h +0 -1
@@ 76,7 76,6 @@ struct Conf
	ulong	base0;		/* base of bank 0 */
	ulong	base1;		/* base of bank 1 */
	ulong	copymode;	/* 0 is copy on write, 1 is copy on reference */
	ulong	arp;		/* Arp table size */
	ulong	nfloppy;	/* number of floppy drives */
	ulong	nhard;		/* number of hard drives */
	ulong	ldepth;		/* screen depth */

M pc/devvga.c => pc/devvga.c +4 -1
@@ 652,10 652,13 @@ atipage(int page)
	outb(extreg, 0xb2);
	outb(extreg+1, v);
}
/*
 * The following assumes that the new mode registers have been selected.
 */
static void
tridentpage(int page)
{
	srout(0x0e, (srin(0xe)&0xf0) | page^0x02);
	srout(0x0e, (srin(0x0e)&0xf0) | page^0x02);
}
static void
tsengpage(int page)

M pc/main.c => pc/main.c +0 -1
@@ 290,7 290,6 @@ confinit(void)
	conf.nswap = conf.nproc*80;
	conf.nimage = 50;
	conf.copymode = 0;			/* copy on write */
	conf.arp = 32;
	conf.nfloppy = 2;
	conf.nhard = 2;
}

M port/devarp.c => port/devarp.c +10 -5
@@ 66,6 66,11 @@ Dirtab arptab[]={
};
#define Narptab (sizeof(arptab)/sizeof(Dirtab))

enum
{
	Narp=	64,	/* size of arp cache */
};

/*
 *  create a 2-level directory
 */


@@ 97,10 102,10 @@ arpreset(void)
{
	Arpcache *ap, *ep;

	arp = xalloc(sizeof(Arpcache) * conf.arp);
	arp = xalloc(sizeof(Arpcache) * Narp);
	arphash = (Arpcache **)xalloc(sizeof(Arpcache *) * Arphashsize);

	ep = &arp[conf.arp];
	ep = &arp[Narp];
	for(ap = arp; ap < ep; ap++) {
		ap->frwd = ap+1;
		ap->prev = ap-1;


@@ 110,7 115,7 @@ arpreset(void)

	arp[0].prev = 0;
	arplruhead = arp;
	ap = &arp[conf.arp-1];
	ap = &arp[Narp-1];
	ap->frwd = 0;
	arplrutail = ap;
	newqinfo(&arpinfo);


@@ 211,7 216,7 @@ arpread(Chan *c, void *a, long n, ulong offset)
	switch((int)(c->qid.path&~CHDIR)){
	case arpdataqid:
		bytes = c->offset;
		while(bytes < conf.arp*ARP_ENTRYLEN && n) {
		while(bytes < Narp*ARP_ENTRYLEN && n) {
			ap = &arp[bytes/ARP_ENTRYLEN];
			part = bytes%ARP_ENTRYLEN;



@@ 388,7 393,7 @@ arpflush(void)
{
	Arpcache *ap, *ep;

	ep = &arp[conf.arp];
	ep = &arp[Narp];
	for(ap = arp; ap < ep; ap++)
		ap->status = ARP_FREE;
}

M port/devboot.c => port/devboot.c +1 -0
@@ 114,6 114,7 @@ bootwrite(Chan *c, void *buf, long n, ulong offset)
	case Qboot:
		pc = *(ulong*)buf;
		splhi();
		icflush(0, 64*1024);
		gotopc(pc);
	}
	error(Ebadarg);

M power/conf.h => power/conf.h +0 -4
@@ 10,10 10,6 @@ Conftab conftab[] = {
	{"base0", &conf.base0 },
	{"base1", &conf.base1 },
	{"copymode", &conf.copymode },
	{"ipif", &conf.ipif },
	{"ip", &conf.ip },
	{"arp", &conf.arp },
	{"frag", &conf.frag },
	{"debugger", &conf.debugger },
	{ 0, 0 },
};

M power/dat.h => power/dat.h +0 -4
@@ 46,10 46,6 @@ struct Conf
	ulong	base0;		/* base of bank 0 */
	ulong	base1;		/* base of bank 1 */
	ulong	copymode;	/* 0 is copy on write, 1 is copy on reference */
	ulong	ipif;		/* Ip protocol interfaces */
	ulong	ip;		/* Ip conversations per interface */
	ulong	arp;		/* Arp table size */
	ulong	frag;		/* Ip fragment assemble queue size */
	ulong	debugger;	/* use processor 1 as a kernel debugger */
};


M power/l.s => power/l.s +2 -7
@@ 181,18 181,13 @@ TEXT	getcallerpc(SB), $0
	MOVW	0(SP), R1
	RET

TEXT	gotopc(SB), $8
TEXT	gotopc(SB), $-4

	MOVW	R1, 0(FP)		/* save arguments for later */
	MOVW	$(64*1024), R7
	MOVW	R7, 8(SP)
	JAL	icflush(SB)
	MOVW	0(FP), R7
	MOVW	_argc(SB), R4
	MOVW	_argv(SB), R5
	MOVW	_env(SB), R6
	MOVW	R0, 4(SP)
	JMP	(R7)
	JMP	(R1)

TEXT	puttlb(SB), $4


M power/main.c => power/main.c +3 -6
@@ 519,6 519,8 @@ confinit(void)
	conf.npage1 = 0;
	conf.base1 = 0;

	conf.nproc = 128 + 3*i;

	ktop = PGROUND((ulong)end);
	ktop = PADDR(ktop);
	conf.npage0 -= ktop/BY2PG;


@@ 537,14 539,9 @@ confinit(void)
	/*
	 *  set minimal default values
	 */
	conf.nmach = 2;
	conf.nproc = 100;
	conf.nmach = 1;
	conf.nswap = 262144;
	conf.nimage = 200;
	conf.ipif = 8;
	conf.ip = 64;
	conf.arp = 32;
	conf.frag = 32;

	confread();


M ss/dat.h => ss/dat.h +0 -4
@@ 85,10 85,6 @@ struct Conf
	ulong	nswap;		/* number of swap blocks */
	ulong	upages;		/* number of user pages */
	int	copymode;	/* 0 is copy on write, 1 is copy on reference */
	ulong	ipif;		/* Ip protocol interfaces */
	ulong	ip;		/* Ip conversations per interface */
	ulong	arp;		/* Arp table size */
	ulong	frag;		/* Ip fragment assemble queue size */
};



M ss/main.c => ss/main.c +0 -4
@@ 477,10 477,6 @@ confinit(void)
		conf.nswap = 16*MB/BY2PG;
	conf.nimage = 50;
	conf.copymode = 0;		/* copy on write */
	conf.ipif = 8;
	conf.ip = 64;
	conf.arp = 32;
	conf.frag = 32;
	if(cpuserver)
		conf.nproc = 500;
}