]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Capsule/RuntimeDxe/CapsuleService.c
Removed IntelframeworkPkg contamination from MdeModulePkg modules.
[mirror_edk2.git] / MdeModulePkg / Universal / Capsule / RuntimeDxe / CapsuleService.c
index 7370eb41987b6e2e0bd67c6a709348d93648b3eb..5a923cda3499c48eedf5093f9022d2d864fd9ce0 100644 (file)
@@ -65,19 +65,13 @@ Returns:
   BufferPtr       = NULL;\r
   CapsuleHeader   = NULL;\r
 \r
-  //\r
-  //Compare GUIDs with EFI_CAPSULE_GUID, if capsule header contains CAPSULE_FLAGS_PERSIST_ACROSS_RESET\r
-  //and CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE flags,whatever the GUID is ,the service supports.\r
-  //\r
   for (ArrayNumber = 0; ArrayNumber < CapsuleCount; ArrayNumber++) {\r
     CapsuleHeader = CapsuleHeaderArray[ArrayNumber];\r
     if ((CapsuleHeader->Flags & (CAPSULE_FLAGS_PERSIST_ACROSS_RESET | CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE)) == CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) {\r
       return EFI_INVALID_PARAMETER;\r
     }\r
-    if (!CompareGuid (&CapsuleHeader->CapsuleGuid, &gEfiCapsuleGuid)) {\r
-      if ((CapsuleHeader->Flags & CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) == 0) {\r
-        return EFI_UNSUPPORTED;\r
-      }\r
+    if ((CapsuleHeader->Flags & CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) == 0) {\r
+      return EFI_UNSUPPORTED;\r
     }\r
   }\r
 \r
@@ -193,19 +187,13 @@ Returns:
 \r
   CapsuleHeader = NULL;\r
 \r
-  //\r
-  //Compare GUIDs with EFI_CAPSULE_GUID, if capsule header contains CAPSULE_FLAGS_PERSIST_ACROSS_RESET\r
-  //and CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE flags,whatever the GUID is ,the service supports.\r
-  //\r
   for (ArrayNumber = 0; ArrayNumber < CapsuleCount; ArrayNumber++) {\r
     CapsuleHeader = CapsuleHeaderArray[ArrayNumber];\r
     if ((CapsuleHeader->Flags & (CAPSULE_FLAGS_PERSIST_ACROSS_RESET | CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE)) == CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) {\r
       return EFI_INVALID_PARAMETER;\r
     }\r
-    if (!CompareGuid (&CapsuleHeader->CapsuleGuid, &gEfiCapsuleGuid)) {\r
-      if ((CapsuleHeader->Flags & CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) == 0) {\r
-        return EFI_UNSUPPORTED;\r
-      }\r
+    if ((CapsuleHeader->Flags & CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) == 0) {\r
+      return EFI_UNSUPPORTED;\r
     }\r
   }\r
 \r
@@ -229,3 +217,48 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+\r
+EFI_STATUS\r
+EFIAPI\r
+CapsuleServiceInitialize (\r
+  IN EFI_HANDLE         ImageHandle,\r
+  IN EFI_SYSTEM_TABLE   *SystemTable\r
+  )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  This code is capsule runtime service initialization.\r
+\r
+Arguments:\r
+\r
+  ImageHandle          The image handle\r
+  SystemTable          The system table.\r
+\r
+Returns:\r
+\r
+  EFI STATUS\r
+\r
+--*/\r
+{\r
+  EFI_STATUS  Status;\r
+  EFI_HANDLE  NewHandle;\r
+\r
+  SystemTable->RuntimeServices->UpdateCapsule                    = UpdateCapsule;\r
+  SystemTable->RuntimeServices->QueryCapsuleCapabilities         = QueryCapsuleCapabilities;\r
+\r
+  //\r
+  // Now install the Capsule Architectural Protocol on a new handle\r
+  //\r
+  NewHandle = NULL;\r
+\r
+  Status = gBS->InstallMultipleProtocolInterfaces (\r
+                  &NewHandle,\r
+                  &gEfiCapsuleArchProtocolGuid,\r
+                  NULL,\r
+                  NULL\r
+                  );\r
+  ASSERT_EFI_ERROR (Status);\r
+\r
+  return EFI_SUCCESS;\r
+}\r