~kris/9p

9hist

675c62993a020b8f29846973cec7839093121234 — David du Colombier 33 years ago a126144
Plan 9 from Bell Labs 1992-11-05
6 files changed, 59 insertions(+), 17 deletions(-)

M pc/dat.h
M pc/screen.h
M pc/vga.c
M power/faultmips.c
M power/trap.c
M ss/main.c
M pc/dat.h => pc/dat.h +3 -3
@@ 76,12 76,12 @@ 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	nfloppy;	/* number of floppy drives */
	ulong	nhard;		/* number of hard drives */
	ulong	ldepth;		/* screen depth */
	ulong	maxx;		/* screen width */
	ulong	maxy;		/* screen length */
};

/*

M pc/screen.h => pc/screen.h +0 -5
@@ 29,8 29,3 @@ extern Cursorinfo	cursor;
extern void		mouseupdate(int);

#define	hwscreenwrite(a, b)

#define mbbpt(x)
#define mbbrect(x)
#define screenupdate()
#define mousescreenupdate()

M pc/vga.c => pc/vga.c +46 -0
@@ 381,3 381,49 @@ bigcursor(void)

	memmove(&arrow, &fatarrow, sizeof(fatarrow));
}

/*
 *  collect changes to the 'soft' screen
 */
static Rectangle mbb;

void
mbbrect(Rectangle r)
{
	if(!islcd)
		return;
	if (r.min.x < mbb.min.x)
		mbb.min.x = r.min.x;
	if (r.min.y < mbb.min.y)
		mbb.min.y = r.min.y;
	if (r.max.x > mbb.max.x)
		mbb.max.x = r.max.x;
	if (r.max.y > mbb.max.y)
		mbb.max.y = r.max.y;
}

void
mbbpt(Point p)
{
	if(!islcd)
		return;
	if (p.x < mbb.min.x)
		mbb.min.x = p.x;
	if (p.y < mbb.min.y)
		mbb.min.y = p.y;
	if (p.x >= mbb.max.x)
		mbb.max.x = p.x+1;
	if (p.y >= mbb.max.y)
		mbb.max.y = p.y+1;
}

void
screenupdate(void)
{
}

void
mousescreenupdate(void)
{
}


M power/faultmips.c => power/faultmips.c +2 -2
@@ 34,8 34,8 @@ faultmips(Ureg *ur, int user, int code)
			LEDOFF(LEDfault);
			return;
		}
		print("kernel %s badvaddr=0x%lux\n", excname[code], ur->badvaddr);
		print("status=0x%lux pc=0x%lux sp=0x%lux\n", ur->status, ur->pc, ur->sp);
		iprint("kernel %s badvaddr=0x%lux\n", excname[code], ur->badvaddr);
		iprint("status=0x%lux pc=0x%lux sp=0x%lux\n", ur->status, ur->pc, ur->sp);
		dumpregs(ur);
		panic("fault");
	}

M power/trap.c => power/trap.c +4 -4
@@ 375,13 375,13 @@ dumpregs(Ureg *ur)
	ulong *l;

	if(u)
		print("registers for %s %d\n", u->p->text, u->p->pid);
		iprint("registers for %s %d\n", u->p->text, u->p->pid);
	else
		print("registers for kernel\n");
		iprint("registers for kernel\n");
	l = &ur->status;
	for(i=0; i<sizeof regname/sizeof(char*); i+=2, l+=2){
		print("%s\t%.8lux\t%s\t%.8lux\n", regname[i], l[0], regname[i+1], l[1]);
		prflush();
		iprint("%s\t%.8lux\t%s\t%.8lux\n", regname[i], l[0], regname[i+1], l[1]);
/*		prflush();/**/
	}
}


M ss/main.c => ss/main.c +4 -3
@@ 448,9 448,10 @@ confinit(void)
		bank[1] = bank[0]-8;
		bank[0] = 8;
	}

	conf.npage = conf.npage0+conf.npage1;
	conf.upages = (conf.npage*70)/100;
	i = screenbits()-1;		/* Calculate % of memory for page pool */
	i = 70 - (i*10);
	conf.upages = (conf.npage*i)/100;
	if(cpuserver){
		i = conf.npage-conf.upages;
		if(i > (12*MB)/BY2PG)


@@ 473,7 474,7 @@ confinit(void)
	if(cpuserver)
		conf.nswap = conf.npage*2;
	else
		conf.nswap = 4096;
		conf.nswap = 16*MB/BY2PG;
	conf.nimage = 50;
	conf.copymode = 0;		/* copy on write */
	conf.ipif = 8;