Misc fixes.

The pnp bios string can't be const and VAR16_32.
Show ps2 port status when discarding data.
diff --git a/src/pnpbios.c b/src/pnpbios.c
index 6daa025..4c512b6 100644
--- a/src/pnpbios.c
+++ b/src/pnpbios.c
@@ -25,7 +25,7 @@
 } PACKED;
 
 extern struct pnpheader PNPHEADER;
-extern const char pnp_string[];
+extern char pnp_string[];
 
 #if CONFIG_PNPBIOS
 struct pnpheader PNPHEADER __aligned(16) VAR16_32 = {
@@ -41,7 +41,7 @@
 // We need a copy of this string in the 0xf000 segment, but we are not
 // actually a PnP BIOS, so make sure it is *not* aligned, so OSes will
 // not see it if they scan.
-const char pnp_string[] __aligned(2) VAR16_32 = " $PnP";
+char pnp_string[] __aligned(2) VAR16_32 = " $PnP";
 #endif
 
 #define FUNCTION_NOT_SUPPORTED 0x82
diff --git a/src/ps2port.c b/src/ps2port.c
index 3f2fee7..4cd8316 100644
--- a/src/ps2port.c
+++ b/src/ps2port.c
@@ -65,7 +65,7 @@
         }
         udelay(50);
         u8 data = inb(PORT_PS2_DATA);
-        dprintf(7, "i8042 flushed %x\n", data);
+        dprintf(7, "i8042 flushed %x (status=%x)\n", data, status);
     }
 
     irq_restore(flags);
@@ -166,7 +166,7 @@
         if ((!!(status & I8042_STR_AUXDATA) != aux)
             || (needack && data != PS2_RET_ACK)) {
             // This data not for us - XXX - just discard it for now.
-            dprintf(1, "Discarding ps2 data %x\n", data);
+            dprintf(1, "Discarding ps2 data %x (status=%x)\n", data, status);
             continue;
         }
 
diff --git a/src/serial.c b/src/serial.c
index 6de6636..5eefaf3 100644
--- a/src/serial.c
+++ b/src/serial.c
@@ -243,6 +243,7 @@
     outb(val8 | 0x01, addr+2); // send strobe
     nop();
     outb(val8 & ~0x01, addr+2);
+    // XXX - implement better timeout code.
     while (((inb(addr+1) & 0x40) == 0x40) && (timeout))
         timeout--;