Page 1 of 1

Enumerating PCI, can't find SATA or IDE controllers

Posted: Mon Oct 23, 2017 4:31 am
by aaronhance
I've lost count of how many hours I've spent on this issue. I'm enumerating the PCI bus, I get valid devices, but no SATA or IDE controllers. I'm using virtualbox and have controllers and drives attached. If there's any relevant information that I havn't included please let me know.

Thanks,
Aaron

PCI driver
https://gist.github.com/aaronhance/2ce2 ... ddfbf4aff9

Image

Re: Enumerating PCI, can't find SATA or IDE controllers

Posted: Mon Oct 23, 2017 5:34 am
by MollenOS
ISA devices don't always appear on the PCI bus. You can sometimes detect if the PCI bus has a ISA bus bridge and then enumerate the ISA bus bridge, OR you can use ACPI to find which ISA devices are present in the system. For the IDE controller maybe just manually probe for it if you only need to enumerate the IDE controller.

Re: Enumerating PCI, can't find SATA or IDE controllers

Posted: Mon Oct 23, 2017 5:45 am
by mallard
The second device on your list appears to be an Intel (8086) 82371 (7000), which is an IDE controller (among other things). You appear only to be enumerating the first function of each device.

Re: Enumerating PCI, can't find SATA or IDE controllers

Posted: Mon Oct 23, 2017 5:51 am
by MollenOS
mallard wrote:The second device on your list appears to be an Intel (8086) 82371 (7000), which is an IDE controller (among other things). You appear only to be enumerating the first function of each device.
Good point :wink:

Re: Enumerating PCI, can't find SATA or IDE controllers

Posted: Mon Oct 23, 2017 5:55 am
by aaronhance
mallard wrote:The second device on your list appears to be an Intel (8086) 82371 (7000), which is an IDE controller (among other things). You appear only to be enumerating the first function of each device.
Thanks for the help! :)

Image