~kris/9p

9hist

63239854398b5d8c7a962008cc108611450e084b — David du Colombier 33 years ago e01e998
Plan 9 from Bell Labs 1992-11-24
3 files changed, 19 insertions(+), 8 deletions(-)

M pc/devvga.c
M power/faultmips.c
M power/trap.c
M pc/devvga.c => pc/devvga.c +8 -1
@@ 102,7 102,7 @@ VGAmode mode13 =

static	Rectangle mbb;
static	Rectangle NULLMBB = {10000, 10000, -10000, -10000};
static	void nopage(int), tsengpage(int);;
static	void nopage(int), tsengpage(int), parapage(int);

/*
 *  definitions of known cards


@@ 117,11 117,13 @@ struct Vgacard
enum
{
	Tseng,		/* tseng labs te4000 */
	Pvga1a,		/* paradise */
	Generic,
};

Vgacard vgacards[] =
{
[Pvga1a]	{ "pvga1a", parapage, },
[Tseng]		{ "tseng", tsengpage, },
[Generic]	{ "generic", nopage, },
		{ 0, 0, },


@@ 615,6 617,11 @@ tsengpage(int page)
{
	outb(0x3cd, (page<<4)|page);
}
static void
parapage(int page)
{
	grout(9, page<<4);
}

/*
 *  copy litte endian soft screen to big endian hard screen

M power/faultmips.c => power/faultmips.c +7 -3
@@ 21,8 21,12 @@ faultmips(Ureg *ur, int user, int code)

	LEDON(LEDfault);
	addr = ur->badvaddr;
	if(addr & KZERO)
	if(addr & KZERO){
		LEDON(LEDkfault);
		print("KZERO %s badvaddr=0x%lux r31=0x%lux\n", excname[code],
			ur->badvaddr, ur->r31);
		print("status=0x%lux pc=0x%lux sp=0x%lux\n", ur->status, ur->pc, ur->sp);
	}
	addr &= ~(BY2PG-1);
	read = !(code==CTLBM || code==CTLBS);



@@ 34,8 38,8 @@ faultmips(Ureg *ur, int user, int code)
			LEDOFF(LEDfault);
			return;
		}
		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);
		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);
		dumpregs(ur);
		panic("fault");
	}

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

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