On Thu, Mar 10, 2016 at 12:38:14AM -0600, Matt DeVillier wrote: > Some BayTrail ChromeOS devices have the eMMC controller hidden (thus > requiring the use of etc/sdcard), while others do not, making it problematic > to have a single payload which serves all devices properly. Therefore, if > the CBFS contains etc/sdcard entries, skip detection of any visible PCI > sdhci controllers in order to avoid duplicate entries in the boot menu.
John, would disabling PCI scans for sd controllers when any etc/sdcard files exist work okay for the machines you've tested with? [...] > diff --git a/src/hw/sdcard.c b/src/hw/sdcard.c > index 7e0875f..32cdb14 100644 > --- a/src/hw/sdcard.c > +++ b/src/hw/sdcard.c > @@ -557,11 +557,14 @@ sdcard_setup(void) > run_thread(sdcard_romfile_setup, file); > } > > - struct pci_device *pci; > - foreachpci(pci) { > - if (pci->class != PCI_CLASS_SYSTEM_SDHCI || pci->prog_if >= 2) > - // Not an SDHCI controller following SDHCI spec > - continue; > - run_thread(sdcard_pci_setup, pci); > + //only scan for PCI controllers if etc/sdcard* not used > + if (file == NULL) { Unless I've missed something, this test (file==NULL) is always true here. Maybe add a counter or flag in the romfile search loop. -Kevin > + struct pci_device *pci; > + foreachpci(pci) { > + if (pci->class != PCI_CLASS_SYSTEM_SDHCI || pci->prog_if >= 2) > + // Not an SDHCI controller following SDHCI spec > + continue; > + run_thread(sdcard_pci_setup, pci); > + } > } > } _______________________________________________ SeaBIOS mailing list SeaBIOS@seabios.org https://www.coreboot.org/mailman/listinfo/seabios