[Etherboot-developers] [PATCH] PCI updates to avoid e1000 chaos
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: <ebi...@ln...> - 2002-03-13 08:49:55
|
I just had a good hard look at the pci initialization code and there are bad comments and strage behaviors. And a lot of code that looks like it should be doing one thing but it is really doing something else. Towards making this all work I have rewritten how pci devices are probed, and the code now should actually support attempting to boot off of the next pci device. The big changes are: We always return if we find a matching pci device regardless of weather an ``ioaddr'' is valid. We walk the list of drivers, and then the list of their devices. Instead of walking the list of possible devices, followed by the list of drivers. The pci_ioaddrs is now a local variable in eth_probe to show their is no magic going on. We can now restart a scan through the pci devices to find the next one. Only the sis900 and e1000 drivers were touched. For the e1000 I have it read the information it needs directly from pci configuration space. The sis900 driver needed an update to handle the saner pci scanning. ftp://download.lnxi.com/pub/src/etherboot/etherboot-5.0.6rc3.e1000.diff I was having a problem with the eepro100 when testing this patch, where it was locking up halfway through loading an image. I can reproduce the problem without this patch. So that is my next thing to investigage. Eric |