panic("Invalid PCI configuration read size!\n");
}
- DPRINTF(IdeCtrl, "PCI read offset: %#x size: %#x data: %#x\n",
- offset, size, *(uint32_t*)data);
+
} else {
panic("Read of unimplemented PCI config. register: %x\n", offset);
}
+ switch (size) {
+ case sizeof(uint8_t):
+ DPRINTF(IdeCtrl, "PCI read offset: %#x size: %d data: %#x\n",
+ offset, size, (uint32_t)*data);
+ break;
+ case sizeof(uint16_t):
+ DPRINTF(IdeCtrl, "PCI read offset: %#x size: %d data: %#x\n",
+ offset, size, *(uint16_t*)data);
+ break;
+ case sizeof(uint32_t):
+ DPRINTF(IdeCtrl, "PCI read offset: %#x size: %d data: %#x\n",
+ offset, size, *(uint32_t*)data);
+ break;
+ default:
+ panic("Invalid PCI configuration read size!\n");
+ }
+
}
void
panic("Write of unimplemented PCI config. register: %x\n", offset);
}
- DPRINTF(IdeCtrl, "PCI write offset: %#x size: %#x data: %#x\n",
- offset, size, data);
+ switch(size) {
+ case sizeof(uint8_t):
+ DPRINTF(IdeCtrl, "PCI write offset: %#x size: %d data: %#x\n",
+ offset, size, (uint32_t)*data);
+ break;
+ case sizeof(uint16_t):
+ DPRINTF(IdeCtrl, "PCI write offset: %#x size: %d data: %#x\n",
+ offset, size, *(uint16_t*)data);
+ break;
+ case sizeof(uint32_t):
+ DPRINTF(IdeCtrl, "PCI write offset: %#x size: %d data: %#x\n",
+ offset, size, *(uint32_t*)data);
+ break;
+ default:
+ panic("Invalid PCI configuration write size!\n");
+ }
// Catch the writes to specific PCI registers that have side affects
// (like updating the PIO ranges)
panic("IDE controller read of unknown register block type!\n");
}
+ if (req->size == 1)
+ DPRINTF(IdeCtrl, "read from offset: %#x size: %#x data: %#x\n",
+ offset, req->size, (uint32_t)*data);
+ else if (req->size == 2)
+ DPRINTF(IdeCtrl, "read from offset: %#x size: %#x data: %#x\n",
+ offset, req->size, *(uint16_t*)data);
+ else
DPRINTF(IdeCtrl, "read from offset: %#x size: %#x data: %#x\n",
offset, req->size, *(uint32_t*)data);
default:
panic("IDE controller write of unknown register block type!\n");
}
-
+ if (req->size == 1)
+ DPRINTF(IdeCtrl, "write to offset: %#x size: %#x data: %#x\n",
+ offset, req->size, (uint32_t)*data);
+ else if (req->size == 2)
+ DPRINTF(IdeCtrl, "write to offset: %#x size: %#x data: %#x\n",
+ offset, req->size, *(uint16_t*)data);
+ else
DPRINTF(IdeCtrl, "write to offset: %#x size: %#x data: %#x\n",
offset, req->size, *(uint32_t*)data);