Index: /trunk/src/VBox/Devices/PC/DevDMA.cpp
===================================================================
--- /trunk/src/VBox/Devices/PC/DevDMA.cpp	(revision 23986)
+++ /trunk/src/VBox/Devices/PC/DevDMA.cpp	(revision 23987)
@@ -137,5 +137,4 @@
     unsigned int dshift;
     struct dma_regs regs[4];
-    uint8_t ext_page[4];
 };
 
@@ -161,19 +160,7 @@
 };
 
-static int channels[8] = {-1, 2, 3, 1, -2, -3, -4, 0};
+static int channels[8] = {-1, 2, 3, 1, -1, -1, -1, 0};
 
 static void write_page (void *opaque, uint32_t nport, uint32_t data)
-{
-    struct dma_cont *d = (struct dma_cont*)opaque;
-    int ichan;
-
-    ichan = channels[nport & 7];
-    if (ichan >= 0)
-        d->regs[ichan].page = data;
-    else
-        d->ext_page[-ichan - 1] = data;
-}
-
-static void write_pageh (void *opaque, uint32_t nport, uint32_t data)
 {
     struct dma_cont *d = (struct dma_cont*)opaque;
@@ -185,4 +172,17 @@
         return;
     }
+    d->regs[ichan].page = data;
+}
+
+static void write_pageh (void *opaque, uint32_t nport, uint32_t data)
+{
+    struct dma_cont *d = (struct dma_cont*)opaque;
+    int ichan;
+
+    ichan = channels[nport & 7];
+    if (-1 == ichan) {
+        dolog ("invalid channel %#x %#x\n", nport, data);
+        return;
+    }
     d->regs[ichan].pageh = data;
 }
@@ -194,8 +194,9 @@
 
     ichan = channels[nport & 7];
-    if (ichan >= 0)
-        return d->regs[ichan].page;
-    else
-        return d->regs[-ichan - 1].page;
+    if (-1 == ichan) {
+        dolog ("invalid channel read %#x\n", nport);
+        return 0;
+    }
+    return d->regs[ichan].page;
 }
 
@@ -668,5 +669,4 @@
 {
     const static int page_port_list[] = { 0x1, 0x2, 0x3, 0x7 };
-    const static int misc_port_list[] = { 0x0, 0x4, 0x5, 0x6 };
     int i;
 
@@ -707,6 +707,4 @@
         PDMDevHlpIOPortRegister (s->pDevIns, base + ((i + 8) << dshift), 1, d,
                                  io_write_cont, io_read_cont, NULL, NULL, "DMA cont");
-        PDMDevHlpIOPortRegister (s->pDevIns, page_base + misc_port_list[i], 1, d,
-                                 io_write_page, io_read_page, NULL, NULL, "Dummy DMA Page");
 #else
         register_ioport_write (base + ((i + 8) << dshift), 1, 1,
Index: /trunk/src/VBox/Devices/PC/DevPIC.cpp
===================================================================
--- /trunk/src/VBox/Devices/PC/DevPIC.cpp	(revision 23986)
+++ /trunk/src/VBox/Devices/PC/DevPIC.cpp	(revision 23987)
@@ -486,5 +486,5 @@
                 AssertReleaseMsgFailed(("single mode not supported"));
             if (val & 0x08)
-                LogRel(("level sensitive irq not supported - ignoring"));
+                AssertReleaseMsgFailed(("level sensitive irq not supported"));
         } else if (val & 0x08) {
             if (val & 0x04)
