]> git.proxmox.com Git - mirror_edk2.git/commitdiff
OvmfPkg: Skip initrd command on Xcode toolchain
authorRoman Bolshakov <r.bolshakov@yadro.com>
Thu, 14 May 2020 13:48:22 +0000 (16:48 +0300)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Thu, 14 May 2020 17:11:07 +0000 (17:11 +0000)
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: ec41733cfd10 ("OvmfPkg: add the 'initrd' dynamic shell command")
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
Message-Id: <20200514134820.62047-1-r.bolshakov@yadro.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
OvmfPkg/OvmfPkgIa32.dsc
OvmfPkg/OvmfPkgIa32.fdf
OvmfPkg/OvmfPkgIa32X64.dsc
OvmfPkg/OvmfPkgIa32X64.fdf
OvmfPkg/OvmfPkgX64.dsc
OvmfPkg/OvmfPkgX64.fdf
OvmfPkg/OvmfXen.dsc
OvmfPkg/OvmfXen.fdf

index 41ac3202961b58fbe0f41d43597872f899c4bbf0..e54aecdf277660cc378eac2d198636e0cea818db 100644 (file)
     <PcdsFixedAtBuild>\r
       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
   }\r
-!endif\r
   OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {\r
     <PcdsFixedAtBuild>\r
       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
   }\r
+!endif\r
   ShellPkg/Application/Shell/Shell.inf {\r
     <LibraryClasses>\r
       ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf\r
index fd81b6fa8bed35c648164c0dac434e5f7a73ab05..e2b759aa8d051536445bdfa4ed33dbafc090aafb 100644 (file)
@@ -290,8 +290,8 @@ INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
 \r
 !if $(TOOL_CHAIN_TAG) != "XCODE5"\r
 INF  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf\r
-!endif\r
 INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf\r
+!endif\r
 INF  ShellPkg/Application/Shell/Shell.inf\r
 \r
 INF MdeModulePkg/Logo/LogoDxe.inf\r
index c2f11aee2cecc8d0400c19b90ac943e6919b200d..c0c8397cb7284e981156e4dcbef7bc5624c4ee95 100644 (file)
     <PcdsFixedAtBuild>\r
       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
   }\r
-!endif\r
   OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {\r
     <PcdsFixedAtBuild>\r
       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
   }\r
+!endif\r
   ShellPkg/Application/Shell/Shell.inf {\r
     <LibraryClasses>\r
       ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf\r
index f71134a65931e95e57fc5b76a81f62b7ea417182..bfca1eff9e8331f18cc8b419f6968985d9532d3c 100644 (file)
@@ -291,8 +291,8 @@ INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
 \r
 !if $(TOOL_CHAIN_TAG) != "XCODE5"\r
 INF  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf\r
-!endif\r
 INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf\r
+!endif\r
 INF  ShellPkg/Application/Shell/Shell.inf\r
 \r
 INF MdeModulePkg/Logo/LogoDxe.inf\r
index 643e6041ad53e7f222940c5e852cc19badc8ac7b..22112bcb047b61f6d364b837055df61ea096ae8b 100644 (file)
     <PcdsFixedAtBuild>\r
       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
   }\r
-!endif\r
   OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {\r
     <PcdsFixedAtBuild>\r
       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
   }\r
+!endif\r
   ShellPkg/Application/Shell/Shell.inf {\r
     <LibraryClasses>\r
       ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf\r
index f71134a65931e95e57fc5b76a81f62b7ea417182..bfca1eff9e8331f18cc8b419f6968985d9532d3c 100644 (file)
@@ -291,8 +291,8 @@ INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
 \r
 !if $(TOOL_CHAIN_TAG) != "XCODE5"\r
 INF  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf\r
-!endif\r
 INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf\r
+!endif\r
 INF  ShellPkg/Application/Shell/Shell.inf\r
 \r
 INF MdeModulePkg/Logo/LogoDxe.inf\r
index 143dc6d5a766967bdc3d04e04e3ec81af9d8b0c5..3af0ee705407953325b0915cf9e76efde5235f0c 100644 (file)
     <PcdsFixedAtBuild>\r
       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
   }\r
-!endif\r
   OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {\r
     <PcdsFixedAtBuild>\r
       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
   }\r
+!endif\r
   ShellPkg/Application/Shell/Shell.inf {\r
     <LibraryClasses>\r
       ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf\r
index 3c4164a5f50e57a099c4a5e14178d950a3672688..d9ee14b484a06875111997f29bad6f1f827b6203 100644 (file)
@@ -363,8 +363,8 @@ INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
 \r
 !if $(TOOL_CHAIN_TAG) != "XCODE5"\r
 INF  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf\r
-!endif\r
 INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf\r
+!endif\r
 INF  ShellPkg/Application/Shell/Shell.inf\r
 \r
 INF MdeModulePkg/Logo/LogoDxe.inf\r