After pouring through the technical specifications for the n-th time, I finally managed to figure out what is happening. The ICH5 has a DEVICE_HIDE register that is being set by the BIOS, so that the SATA controller is hidden from the kernel. The kernel PCI probe does not bother to un-hide the device. It is possible to un-hide the device by writing to the register before PCI configuration. It is NOT possible to unhide it using my BIOS. It was a satisfying exercise to follow the PCI probe code around drivers/pci/probe.c -- Grant Murray -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/