X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/df61e9d0fec3d5e75820e27e7a2459d132364585..5a8d4ebecaa50af25bd53c3b2236dca77a14eb81:/lunaix-os/kernel/proc0.c?ds=sidebyside diff --git a/lunaix-os/kernel/proc0.c b/lunaix-os/kernel/proc0.c index b9a2470..759db2c 100644 --- a/lunaix-os/kernel/proc0.c +++ b/lunaix-os/kernel/proc0.c @@ -119,14 +119,14 @@ void __test_disk_io() { struct hba_port* port = ahci_get_port(0); - char* buffer = valloc_dma(port->device->block_size); + char* buffer = vcalloc_dma(port->device->block_size); strcpy(buffer, test_sequence); kprintf("WRITE: %s\n", buffer); int result; - // 写入第一扇区 + // 写入第一扇区 (LBA=0) result = - port->device->ops.write_buffer(port, 1, buffer, port->device->block_size); + port->device->ops.write_buffer(port, 0, buffer, port->device->block_size); if (!result) { kprintf(KWARN "fail to write: %x\n", port->device->last_error); } @@ -135,13 +135,15 @@ __test_disk_io() // 读出我们刚刚写的内容! result = - port->device->ops.read_buffer(port, 1, buffer, port->device->block_size); + port->device->ops.read_buffer(port, 0, buffer, port->device->block_size); kprintf(KDEBUG "%x, %x\n", port->regs[HBA_RPxIS], port->regs[HBA_RPxTFD]); if (!result) { kprintf(KWARN "fail to read: %x\n", port->device->last_error); } else { kprint_hex(buffer, 256); } + + vfree_dma(buffer); } void