Index: uspace/srv/bd/gxe_bd/gxe_bd.c
===================================================================
--- uspace/srv/bd/gxe_bd/gxe_bd.c	(revision 0c0b8005830ac4f16645b318040ddc0144b9ea25)
+++ uspace/srv/bd/gxe_bd/gxe_bd.c	(revision 39580667fc7f6793fd648fcc1add96f72ba118ad)
@@ -73,15 +73,10 @@
 	uint32_t status;
 
-/*	FIXME: Need to fix pio_enable() to support >= page_size areas.
-
 	uint32_t pad4[3];
-	uint32_t pad5[0x3fc0];
-
-	uint8_t buffer[512];*/
+	uint8_t pad5[0x3fc0];
+
+	uint8_t buffer[512];
 } gxe_bd_t;
 
-typedef struct {
-	uint8_t buffer[512];
-} gxe_buf_t;
 
 static const size_t block_size = 512;
@@ -90,5 +85,4 @@
 static uintptr_t dev_physical = 0x13000000;
 static gxe_bd_t *dev;
-static gxe_buf_t *devbuf;
 
 static uint32_t disk_id = 0;
@@ -135,12 +129,4 @@
 
 	dev = vaddr;
-
-	rc = pio_enable((void *) dev_physical + 0x4000, sizeof(gxe_buf_t), &vaddr);
-	if (rc != EOK) {
-		printf(NAME ": Could not initialize device I/O space.\n");
-		return rc;
-	}
-
-	devbuf = vaddr;
 
 	rc = devmap_device_register("disk0", &dev_handle);
@@ -253,6 +239,5 @@
 
 	for (i = 0; i < size; i++) {
-		((uint8_t *) buf)[i] = w =
-		    pio_read_8(&devbuf->buffer[i]);
+		((uint8_t *) buf)[i] = w = pio_read_8(&dev->buffer[i]);
 	}
 
@@ -268,5 +253,5 @@
 
 	for (i = 0; i < size; i++) {
-		pio_write_8(&devbuf->buffer[i], ((const uint8_t *) buf)[i]);
+		pio_write_8(&dev->buffer[i], ((const uint8_t *) buf)[i]);
 	}
 
