On 18 April 2016 at 01:34, Marcin Wojtas mw@semihalf.com wrote:
From: Bartosz Szczepanek bsz@semihalf.com
BdsLibConnectAll() call repeats process of driver-controller connecting after drivers' initialisation. It is required to attach I2cDxe properly (after EFI_I2C_ENUMERATION_PROTOCOL is provided).
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Bartosz Szczepanek bsz@semihalf.com Signed-off-by: Marcin Wojtas mw@semihalf.com
Platforms/Marvell/Armada/Library/Armada7040BdsLib/Armada7040BdsLib.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/Platforms/Marvell/Armada/Library/Armada7040BdsLib/Armada7040BdsLib.c b/Platforms/Marvell/Armada/Library/Armada7040BdsLib/Armada7040BdsLib.c index 04a5bab..01f7ebd 100644 --- a/Platforms/Marvell/Armada/Library/Armada7040BdsLib/Armada7040BdsLib.c +++ b/Platforms/Marvell/Armada/Library/Armada7040BdsLib/Armada7040BdsLib.c @@ -349,6 +349,7 @@ PlatformBdsPolicyBehavior ( Status = PlatformBdsConnectConsole (); ASSERT_EFI_ERROR (Status);
- BdsLibConnectAll();
BdsLibConnectAll() should not be used in the default boot path, and the fact that you do is usually a symptom of problems elsewhere.
The reason is that, in the default case, the only drivers that you need to connect are the ones that are described by the device path you are trying to boot from, and the shotgun approach of simply connecting everything may cause unbounded boot delays.
Would it be possible to diagnose the issue you are seeing in more detail? It is actually quite likely that there are issues elsewhere in the BDS that are exposed by your implementation.
Thanks, Ard.