I'm trying to enable SATA hotplug (in OS) feature on my board. And one of my attempts is to run AHCI option rom from original BIOS.
I use coreboot/seabios bundle with seabios responsible for option ROM execution. And I stuck with a problem, that seabios doesn't want to run ROM on SATA controllers cause of pci->have_driver check:
// Find and deploy PCI roms.
struct pci_device *pci;
if (pci->class == PCI_CLASS_DISPLAY_VGA || pci->have_driver)
init_pcirom(pci, 0, sources);
// Handle controllers on an ATA PCI device.
init_pciata(struct pci_device *pci, u8 prog_if)
pci->have_driver = 1;
So, what is a proper way to run roms like AHCI on SATA controllers?
(in my case SATA controller is embedded device in southbridge)