added a completely broken way to get the pci_device
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22075 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -148,6 +148,10 @@ ahci_register_device(device_node_handle parent)
|
|||||||
if (status < B_OK)
|
if (status < B_OK)
|
||||||
return status;
|
return status;
|
||||||
|
|
||||||
|
// HACK! this device manager stuff just sucks!
|
||||||
|
extern pci_device pd;
|
||||||
|
pd = *pciDevice;
|
||||||
|
|
||||||
// TODO: register SIM for every controller we find!
|
// TODO: register SIM for every controller we find!
|
||||||
return register_sim(node);
|
return register_sim(node);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,28 +9,31 @@
|
|||||||
#define TRACE(a...) dprintf("\33[34mahci:\33[30m " a)
|
#define TRACE(a...) dprintf("\33[34mahci:\33[30m " a)
|
||||||
#define FLOW(a...) dprintf("ahci: " a)
|
#define FLOW(a...) dprintf("ahci: " a)
|
||||||
|
|
||||||
|
// HACK! this device manager stuff just sucks!
|
||||||
|
pci_device pd;
|
||||||
|
|
||||||
AHCIController::AHCIController(device_node_handle node, pci_device_module_info *pci, scsi_for_sim_interface * scsi)
|
AHCIController::AHCIController(device_node_handle node, pci_device_module_info *pci, scsi_for_sim_interface *scsi)
|
||||||
: fNode(node)
|
: fNode(node)
|
||||||
, fPCI(pci)
|
, fPCI(pci)
|
||||||
, fSCSI(scsi)
|
, fSCSI(scsi)
|
||||||
|
, fPCIDevice(0)
|
||||||
, fDevicePresentMask(0)
|
, fDevicePresentMask(0)
|
||||||
{
|
{
|
||||||
|
// HACK! this device manager stuff just sucks!
|
||||||
|
fPCIDevice = pd;
|
||||||
|
|
||||||
fDevicePresentMask = (1 << 7) | (1 << 19);
|
fDevicePresentMask = (1 << 7) | (1 << 19);
|
||||||
|
|
||||||
#if 0
|
|
||||||
uchar cap_ofs;
|
uchar cap_ofs;
|
||||||
status_t res = fPCI->find_pci_capability(device, PCI_cap_id_sata, &cap_ofs);
|
status_t res = fPCI->find_pci_capability(fPCIDevice, PCI_cap_id_sata, &cap_ofs);
|
||||||
if (res == B_OK) {
|
if (res == B_OK) {
|
||||||
uint32 satacr0;
|
uint32 satacr0;
|
||||||
uint32 satacr1;
|
uint32 satacr1;
|
||||||
TRACE("PCI SATA capability found at offset 0x%x\n", cap_ofs);
|
TRACE("PCI SATA capability found at offset 0x%x\n", cap_ofs);
|
||||||
satacr0 = pci->read_pci_config(device, cap_ofs, 4);
|
satacr0 = fPCI->read_pci_config(fPCIDevice, cap_ofs, 4);
|
||||||
satacr1 = pci->read_pci_config(device, cap_ofs + 4, 4);
|
satacr1 = fPCI->read_pci_config(fPCIDevice, cap_ofs + 4, 4);
|
||||||
TRACE("satacr0 = 0x%08x, satacr1 = 0x%08x\n", satacr0, satacr1);
|
TRACE("satacr0 = 0x%08lx, satacr1 = 0x%08lx\n", satacr0, satacr1);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,8 @@ private:
|
|||||||
private:
|
private:
|
||||||
device_node_handle fNode;
|
device_node_handle fNode;
|
||||||
pci_device_module_info * fPCI;
|
pci_device_module_info * fPCI;
|
||||||
scsi_for_sim_interface * fSCSI;
|
scsi_for_sim_interface * fSCSI;
|
||||||
|
pci_device fPCIDevice;
|
||||||
uint32 fDevicePresentMask;
|
uint32 fDevicePresentMask;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user