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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to