X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/6a279840b778869d8a80b6ef179d0114de12d0d4..0e1309c02f0703c050df09b71346dab60fc6df87:/lunaix-os/hal/ahci/ahci.c diff --git a/lunaix-os/hal/ahci/ahci.c b/lunaix-os/hal/ahci/ahci.c index 53981a0..39e511c 100644 --- a/lunaix-os/hal/ahci/ahci.c +++ b/lunaix-os/hal/ahci/ahci.c @@ -161,7 +161,7 @@ ahci_init() // 需要通过全部置位去清空这些寄存器(相当的奇怪……) port_regs[HBA_RPxSERR] = -1; - port_regs[HBA_RPxIE] |= (HBA_PxINTR_D2HR); + port_regs[HBA_RPxIE] |= (HBA_PxINTR_DPS); hba.ports[i] = port; @@ -293,7 +293,7 @@ hba_prepare_cmd(struct hba_port* port, cmd_header->prdt_len = 1; cmd_table->entries[0] = (struct hba_prdte){ .data_base = vmm_v2p(buffer), - .byte_count = size - 1 }; + .byte_count = (size - 1) | (0x80000000) }; } *cmdh = cmd_header;