git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into vfs-dev
[lunaix-os.git]
/
lunaix-os
/
hal
/
ahci
/
ahci.c
diff --git
a/lunaix-os/hal/ahci/ahci.c
b/lunaix-os/hal/ahci/ahci.c
index 53981a00415b4cdd2860fb4ea314f6bb95d8709a..39e511c33fde391a965c9b455daf06dc35312b54 100644
(file)
--- 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_RPxSERR] = -1;
- port_regs[HBA_RPxIE] |= (HBA_PxINTR_D
2HR
);
+ port_regs[HBA_RPxIE] |= (HBA_PxINTR_D
PS
);
hba.ports[i] = port;
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),
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;
}
*cmdh = cmd_header;