On 2016-03-10 15:03, 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?
I don't know why it wouldn't work, Kevin, unless some of the models do
both e.g. a hidden device for the eMMC and an unhidden device for the SD
card.
[...]
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
[email protected]
https://www.coreboot.org/mailman/listinfo/seabios