ahci reading
This commit is contained in:
1 parent
05eab23956
commit
babe4290e4
4 files changed
+423
-31
No files matched your search
@@ -463,9 +463,9 @@ begin
|
|||||||
cmd := cmd or PCI_COMMAND_BUS_MASTER;
|
cmd := cmd or PCI_COMMAND_BUS_MASTER;
|
||||||
cmd := cmd or (3 shl 1);
|
cmd := cmd or (3 shl 1);
|
||||||
|
|
||||||
//enable interrupts, remove disable interrupt bit
|
//enable interrupts, remove disable interrupt bit maybe
|
||||||
cmd := cmd and not PCI_COMMAND_INT_DISABLE;
|
cmd := cmd and not PCI_COMMAND_INT_DISABLE;
|
||||||
cmd := cmd and not (1 shl 9);
|
// cmd := cmd and not (1 shl 9);
|
||||||
|
|
||||||
outl(PCI_CONFIG_ADDRESS_PORT, addr);
|
outl(PCI_CONFIG_ADDRESS_PORT, addr);
|
||||||
outl(PCI_CONFIG_DATA_PORT, cmd);
|
outl(PCI_CONFIG_DATA_PORT, cmd);
|
||||||
|
|||||||
@@ -38,6 +38,12 @@ const
|
|||||||
PCI_COMMAND_INT_DISABLE = $0400;
|
PCI_COMMAND_INT_DISABLE = $0400;
|
||||||
PCI_COMMAND_SERR_ENABLE = $8000;
|
PCI_COMMAND_SERR_ENABLE = $8000;
|
||||||
|
|
||||||
|
PCI_CAP_ID_MSI = $05;
|
||||||
|
|
||||||
|
// Bits in the MSI Control register (16-bit):
|
||||||
|
MSI_CONTROL_ENABLE = 1 shl 0; // Bit 0
|
||||||
|
MSI_CONTROL_64BIT = 1 shl 7; // Bit 7
|
||||||
|
MSI_CONTROL_PVMASK = 1 shl 8; // Bit 8 (optional: per-vector masking)
|
||||||
type
|
type
|
||||||
|
|
||||||
PPCI_Device = ^TPCI_Device;
|
PPCI_Device = ^TPCI_Device;
|
||||||
|
|||||||
File diff suppressed because it is too large.
Load diff
@@ -269,7 +269,7 @@ type
|
|||||||
pci_device : PPCI_Device;
|
pci_device : PPCI_Device;
|
||||||
mio: PHBA_Memory;
|
mio: PHBA_Memory;
|
||||||
ata_info : TIdentResponse;
|
ata_info : TIdentResponse;
|
||||||
devices : PDList;
|
devices : array[0..31] of TAHCI_Device;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
PAHCI_Controller = ^TAHCI_Controller;
|
PAHCI_Controller = ^TAHCI_Controller;
|
||||||
|
|||||||
Reference in new issue
Block a user