Index: uspace/srv/bd/ata_bd/ata_bd.h
===================================================================
--- uspace/srv/bd/ata_bd/ata_bd.h	(revision fbbbb8aad83e159be5cdecf2d81e66df39150468)
+++ uspace/srv/bd/ata_bd/ata_bd.h	(revision ac47b7c2b6e75a9b9aa60b443fca9a151cf89e5c)
@@ -51,9 +51,9 @@
 };
 
+/** ATA Command Register Block. */
 typedef union {
-	/* Read */
+	/* Read/Write */
 	struct {
-		uint8_t data_port;
-		uint8_t error;
+		uint16_t data_port;
 		uint8_t sector_count;
 		uint8_t sector_number;
@@ -61,10 +61,20 @@
 		uint8_t cylinder_high;
 		uint8_t drive_head;
+		uint8_t pad_rw0;		
+	};
+
+	/* Read Only */
+	struct {
+		uint8_t pad_ro0;
+		uint8_t error;
+		uint8_t pad_ro1[5];
 		uint8_t status;
 	};
 
-	/* Write */
+	/* Write Only */
 	struct {
-		uint8_t pad0[7];
+		uint8_t pad_wo0;
+		uint8_t features;
+		uint8_t pad_wo1[5];
 		uint8_t command;
 	};
