On Fri, Nov 1, 2024 at 10:31 AM Gerd Hoffmann <kraxel@redhat.com> wrote:
  Hi,

> By analyzing the calls to the dispatcher (`gDS->Dispatch ()`) I found
> that when we only have COM1, EfiBootManagerConnectDevicePath() at some
> point invokes `gDS->Dispatch ()` after VirtioRng has started. This call
> will then get DxeNetLib loaded.

Ok, so it is probably a good idea to explicitly request a dispatch after
activating virtio-rng, so we do not depend on this happening by pure
luck for other reasons:

--- a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
+++ b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
@@ -670,6 +670,7 @@ ConnectVirtioPciRng (
     if (EFI_ERROR (Status)) {
       goto Error;
     }
+    gDS->Dispatch ();
   }

   return EFI_SUCCESS;

[ untested patch, and we probably should do something similar for ArmVirt,
  /me goes continue walking through my email backlog now ]

That works.
 

take care,
  Gerd

_._,_._,_

Groups.io Links:

You receive all messages sent to this group.

View/Reply Online (#120701) | | Mute This Topic | New Topic
Your Subscription | Contact Group Owner | Unsubscribe [rebecca@openfw.io]

_._,_._,_