On 3/10/2016 9:03 AM, Kevin O'Connor wrote:
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
whoops, you're correct - I'll rework this shortly
+ 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
[email protected]
https://www.coreboot.org/mailman/listinfo/seabios