Got an error from vga with a missing newline; went through and found various others (I think all of them). Looking at context, it doesn't look like there's any odd usage which might call for not printing the newlines, but of course I don't have all these cards to test the errors. Reference: /n/sources/patch/applied/vga-error-newlines Date: Thu Oct 14 19:43:03 CES 2010 Signed-off-by: a@9srv.net --- /sys/src/cmd/aux/vga/io.c Thu Oct 14 19:33:48 2010 +++ /sys/src/cmd/aux/vga/io.c Thu Oct 14 19:33:30 2010 @@ -252,12 +252,12 @@ buf = alloc(size); offset = 0xC0000; if(doreadbios((char*)buf, size, offset) != size) - error("short bios read in dumpbios"); + error("short bios read in dumpbios\n"); if(buf[0] != 0x55 || buf[1] != 0xAA){ offset = 0xE0000; if(doreadbios((char*)buf, size, offset) != size) - error("short bios read in dumpbios"); + error("short bios read in dumpbios\n"); if(buf[0] != 0x55 || buf[1] != 0xAA){ free(buf); return; --- /sys/src/cmd/aux/vga/main.c Thu Oct 14 19:34:10 2010 +++ /sys/src/cmd/aux/vga/main.c Thu Oct 14 19:33:55 2010 @@ -281,7 +281,7 @@ for(ctlr = vga->link; ctlr; ctlr = ctlr->link) if(ctlr->flag & Ferror) - error("%r"); + error("%r\n"); if(iflag || lflag){ if(getenv(type)) @@ -369,7 +369,7 @@ if(vga->mode->z < nelem(chanstr) && chanstr[vga->mode->z]) strcpy(vga->mode->chan, chanstr[vga->mode->z]); else - error("%s: unknown channel type to use for depth %d", vga->ctlr->name, vga->mode->z); + error("%s: unknown channel type to use for depth %d\n", vga->ctlr->name, vga->mode->z); } if(iflag || pflag) --- /sys/src/cmd/aux/vga/mga4xx.c Thu Oct 14 19:34:36 2010 +++ /sys/src/cmd/aux/vga/mga4xx.c Thu Oct 14 19:34:19 2010 @@ -1125,11 +1125,11 @@ mga->maxpclk = 250000000; if (mode->frequency < 50000) - error("mga: Too little Frequency %d : Minimum supported by PLL is %d", + error("mga: Too little Frequency %d : Minimum supported by PLL is %d\n", mode->frequency, 50000); if (mode->frequency > mga->maxpclk) - error("mga: Too big Frequency %d : Maximum supported by PLL is %ld", + error("mga: Too big Frequency %d : Maximum supported by PLL is %ld\n", mode->frequency, mga->maxpclk); trace("mga: revision ID is %x\n", mga->revid); --- /sys/src/cmd/aux/vga/vesa.c Thu Oct 14 19:34:59 2010 +++ /sys/src/cmd/aux/vga/vesa.c Thu Oct 14 19:34:43 2010 @@ -201,7 +201,7 @@ load(Vga* vga, Ctlr* ctlr) { if(vbe == nil) - error("no vesa bios"); + error("no vesa bios\n"); if(vbesetmode(vbe, atoi(dbattr(vga->mode->attr, "id"))) < 0){ ctlr->flag |= Ferror; fprint(2, "vbesetmode: %r\n"); --- /sys/src/cmd/aux/vga/virge.c Thu Oct 14 19:35:22 2010 +++ /sys/src/cmd/aux/vga/virge.c Thu Oct 14 19:35:06 2010 @@ -388,7 +388,7 @@ * 32-bit mode (which the GX/2 calls 24-bit unpacked mode). */ if(id != 0x8A10) - error("32-bit mode only supported on the GX/2"); + error("32-bit mode only supported on the GX/2\n"); vga->crt[0x67] |= 0xD0; break; } --- /sys/src/cmd/aux/vga/vmware.c Thu Oct 14 19:35:44 2010 +++ /sys/src/cmd/aux/vga/vmware.c Thu Oct 14 19:35:29 2010 @@ -207,12 +207,12 @@ vmwr(vm, Rid, (0x900000<<8)|2); if(vmrd(vm, Rid)&0xFF != 2) - error("old vmware svga version %lud; need version 2", + error("old vmware svga version %lud; need version 2\n", vmrd(vm,Rid)&0xFF); ctlr->flag |= Ulinear; if(strcmp(vm->chan, "unknown") == 0) - error("couldn't translate color masks into channel"); + error("couldn't translate color masks into channel\n"); /* Always use the screen depth, and clip the screen size */ vga->mode->z = vm->r[Rbpp];