On Wed, May 13, 2020 at 12:23:33PM +0200, Laszlo Ersek wrote: > On 05/12/20 22:58, Roman Bolshakov wrote: > > OVMF booting stops with the assert if built with Xcode on macOS: > > > > Loading driver at 0x0001FAB8000 EntryPoint=0x0001FABF249 > > LinuxInitrdDynamicShellCommand.efi > > InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 1F218398 > > ProtectUefiImageCommon - 0x1F218140 > > - 0x000000001FAB8000 - 0x0000000000008A60 > > > > ASSERT_EFI_ERROR (Status = Unsupported) > > ASSERT LinuxInitrdDynamicShellCommand.c(378): !EFI_ERROR (Status) > > > > The assert comes from InitializeHiiPackage() after an attempt to > > retrieve HII package list from ImageHandle. > > > > Xcode still doesn't support HII resource section and > > LinuxInitrdDynamicShellCommand depends on it. Likewise 277a3958d93a > > ("OvmfPkg: Don't include TftpDynamicCommand in XCODE5 tool chain"), > > disable initrd command if built with Xcode toolchain > > > > Fixes: 2632178bc683 ("OvmfPkg: add 'initrd' shell command to expose Linux > > initrd via device path") > > Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> > > Cc: Liming Gao <liming....@intel.com> > > Cc: Andrew Fish <af...@apple.com> > > Cc: Laszlo Ersek <ler...@redhat.com> > > Signed-off-by: Roman Bolshakov <r.bolsha...@yadro.com> > > --- > > OvmfPkg/OvmfPkgIa32.fdf | 2 +- > > OvmfPkg/OvmfPkgX64.fdf | 2 +- > > 2 files changed, 2 insertions(+), 2 deletions(-) > > Thanks for the patch! > > The reference to commit 277a3958d93a is very welcome. > > (1) However, this patch doesn't follow commit 277a3958d93a closely > enough. The present patch only conditionalizes some FDF files. We should > conditionalize the DSC files too, otherwise we're still going to build > LinuxInitrdDynamicShellCommand, just not include it in the firmware. > > (2) The "Fixes:" reference is incorrect. Technically, the issue (for > XCODE5) was introduced in the commit that modified the FDF file(s). > Therefore, based on "git-blame", we should have > > Fixes: ec41733cfd10 > > Now, if you look at that commit -- i.e., "OvmfPkg: add the 'initrd' > dynamic shell command" --, then not only will you find the parts in the > DSC files that are necessary to gate (per my point (1) above), you'll > also notice my next point: > > (3) The present patch only covers 2 out of the 4 OvmfPkg platforms; > namely, "OvmfPkgIa32X64" and "OvmfXen" are missed. > > Please extend the patch to those platforms as well. > > In total, the patch should modify 8 files: > > OvmfPkg/OvmfPkgIa32.dsc > OvmfPkg/OvmfPkgIa32.fdf > OvmfPkg/OvmfPkgIa32X64.dsc > OvmfPkg/OvmfPkgIa32X64.fdf > OvmfPkg/OvmfPkgX64.dsc > OvmfPkg/OvmfPkgX64.fdf > OvmfPkg/OvmfXen.dsc > OvmfPkg/OvmfXen.fdf > > because they all reference > "OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf". >
Hi Laszlo, Thanks for the feedback and pointing me out to other places I missed. I will address the issues shortly. Regards, Roman -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#59561): https://edk2.groups.io/g/devel/message/59561 Mute This Topic: https://groups.io/mt/74168379/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-