Merge branch 'master' into vfs-dev
[lunaix-os.git] / lunaix-os / hal / ahci / ahci.c
index 53981a00415b4cdd2860fb4ea314f6bb95d8709a..39e511c33fde391a965c9b455daf06dc35312b54 100644 (file)
@@ -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;