On Thu, 5 Mar 2020 at 22:15, Laszlo Ersek <ler...@redhat.com> wrote: > > Hi Ard, > > On 03/05/20 14:46, Ard Biesheuvel wrote: > > Replace the open coded sequence to load Linux on x86 with a short and > > generic sequence invoking QemuLoadImageLib, which can be provided by > > a generic version that only supports the LoadImage and StartImage boot > > services, and one that incorporates the entire legacy loading sequence > > as well. > > > > Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2566 > > Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org> > > Reviewed-by: Laszlo Ersek <ler...@redhat.com> > > --- > > OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf | 2 +- > > OvmfPkg/Library/PlatformBootManagerLib/QemuKernel.c | 144 > > ++------------------ > > 2 files changed, 14 insertions(+), 132 deletions(-) > > > > diff --git > > a/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf > > b/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf > > index c479f113b92b..e470b9a6a3e5 100644 > > --- a/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf > > +++ b/OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf > > @@ -49,7 +49,7 @@ [LibraryClasses] > > NvVarsFileLib > > QemuFwCfgLib > > QemuFwCfgS3Lib > > - LoadLinuxLib > > + QemuLoadImageLib > > QemuBootOrderLib > > ReportStatusCodeLib > > UefiLib > > This hunk (in commit 859b55443a42) seems to break the OvmfXen platform build: > > Active Platform = OvmfPkg/OvmfXen.dsc > > build.py... > OvmfPkg/OvmfXen.dsc(...): error 4000: Instance of library class > [QemuLoadImageLib] is not found > in > [OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf] [X64] > consumed by module [MdeModulePkg/Universal/BdsDxe/BdsDxe.inf] > > Can you please send a patch? > > I think resolving the lib class to the generic instance suffices. > gBS->LoadImage() will return EFI_NOT_FOUND from QemuLoadKernelImage(), > because OvmfPkg/QemuKernelLoaderFsDxe is not included in the Xen platform. > > An alternative fix that's larger in source code, but lighter in binary code, > would be to add a Null instance of QemuLoadImageLib, and use that in the Xen > platform. > > For the future, please include OvmfXen.dsc in your build / CI scripts. >
Apologies - I will fix it right away. It never occurred to me that 'TryRunningQemuKernel ()' is live code on OvmfXen. Being able to drop LoadLinuxLib from the Xen build is a win in itself, so I will leave the Null library class for another day, if you don't mind. -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#55552): https://edk2.groups.io/g/devel/message/55552 Mute This Topic: https://groups.io/mt/71749527/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-