~kris/9p

9hist

81e752e1fa281eb53eb88b7efbe98d2575729459 — David du Colombier 32 years ago a365c1d
Plan 9 from Bell Labs 1993-10-05
3 files changed, 15 insertions(+), 8 deletions(-)

M carrera/main.c
M carrera/trap.c
M port/devcons.c
M carrera/main.c => carrera/main.c +1 -1
@@ 277,7 277,7 @@ init0(void)

	if(!waserror()){
		ksetenv("cputype", "mips");
		sprint(buf, "%s R4400PC", conffile);
		sprint(buf, "carrera %s R4400PC", conffile);
		ksetenv("terminal", buf);
		ksetenv("sysname", sysname);
		poperror();

M carrera/trap.c => carrera/trap.c +4 -3
@@ 370,9 370,9 @@ fpexcname(Ureg *ur, ulong fcr31, char *buf)
void
kernfault(Ureg *ur, int code)
{
	print("panic: kfault %s badvaddr=0x%lux\n", excname[code], ur->badvaddr);
	print("u=0x%lux status=0x%lux pc=0x%lux sp=0x%lux\n",
				up, ur->status, ur->pc, ur->sp);
	print("kfault %s badvaddr=0x%lux\n", excname[code], ur->badvaddr);
	print("UP=0x%lux SR=0x%lux PC=0x%lux R31=%lux SP=0x%lux\n",
				up, ur->status, ur->pc, ur->r31, ur->sp);
	kpteprint(ur);
	panic("kfault");
}


@@ 471,6 471,7 @@ notify(Ureg *ur)
	*(ulong*)(sp+2*BY2WD) = sp+3*BY2WD;	/* arg 2 is string */
	up->svr1 = ur->r1;			/* save away r1 */
	ur->r1 = (ulong)up->ureg;		/* arg 1 is ureg* */
	*(ulong*)(sp+1*BY2WD) = (ulong)u->ureg;	/* arg 1 0(FP) is ureg* */
	*(ulong*)(sp+0*BY2WD) = 0;		/* arg 0 is pc */
	ur->usp = sp;
	ur->pc = (ulong)up->notify;

M port/devcons.c => port/devcons.c +10 -4
@@ 209,10 209,16 @@ echo(Rune r, char *buf, int n)
	/*
	 *  finally, the actual echoing
	 */
	if(r == 0x15)
		putstrn("^U\n", 3);
	else
		putstrn(buf, n);
	if(r == '\n'){
		if(printq)
			qproduce(printq, "\r", 1);
	} else if(r == 0x15){
		buf = "^U\n";
		n = 3;
	}
	screenputs(buf, n);
	if(printq)
		qproduce(printq, buf, n);
}

/*