]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/Dxe/Image/Image.c
Update DxeCore to support to install gEfiHiiPackageListProtocolGuid in LoadImage...
[mirror_edk2.git] / MdeModulePkg / Core / Dxe / Image / Image.c
index 5502c7ab189261f038384e6a9c8072ad2b35ea5e..8ec6793966c8d3338cf471a0ee0c66003d78516f 100644 (file)
@@ -641,6 +641,14 @@ CoreUnloadAndCloseImage (
                &Image->Info\r
                );\r
 \r
+    if (Image->ImageContext.HiiResourceData != 0) {\r
+      Status = CoreUninstallProtocolInterface (\r
+                 Image->Handle,\r
+                 &gEfiHiiPackageListProtocolGuid,\r
+                 (VOID *) (UINTN) Image->ImageContext.HiiResourceData\r
+                 );\r
+    }\r
+\r
   }\r
 \r
   if (Image->RuntimeData != NULL) {\r
@@ -903,6 +911,21 @@ CoreLoadImageCommon (
     goto Done;\r
   }\r
 \r
+  //\r
+  // Install HII Package List Protocol onto the image handle\r
+  //\r
+  if (Image->ImageContext.HiiResourceData != 0) {\r
+    Status = CoreInstallProtocolInterface (\r
+               &Image->Handle,\r
+               &gEfiHiiPackageListProtocolGuid,\r
+               EFI_NATIVE_INTERFACE,\r
+               (VOID *) (UINTN) Image->ImageContext.HiiResourceData\r
+               );\r
+    if (EFI_ERROR (Status)) {\r
+      goto Done;\r
+    }\r
+  }\r
+\r
   //\r
   // Success.  Return the image handle\r
   //\r