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();
}
}