]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SecurityPkg/VariableAuthenticated/EsalVariableDxeSal/InitVariable.c
SecurityPkg: Removing ipf which is no longer supported from edk2.
[mirror_edk2.git] / SecurityPkg / VariableAuthenticated / EsalVariableDxeSal / InitVariable.c
diff --git a/SecurityPkg/VariableAuthenticated/EsalVariableDxeSal/InitVariable.c b/SecurityPkg/VariableAuthenticated/EsalVariableDxeSal/InitVariable.c
deleted file mode 100644 (file)
index a9e739d..0000000
+++ /dev/null
@@ -1,247 +0,0 @@
-/** @file\r
-  Entrypoint of Extended SAL variable service module.\r
-\r
-Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#include "Variable.h"\r
-#include "AuthService.h"\r
-\r
-//\r
-// Don't use module globals after the SetVirtualAddress map is signaled\r
-//\r
-EFI_EVENT mEfiVirtualNotifyEvent;\r
-\r
-/**\r
-  Common entry for Extended SAL Variable Services Class.\r
-\r
-  This is the common entry of all functions of Extended SAL Variable Services Class.\r
-\r
-  @param[in]  FunctionId        The Function ID of member function in Extended SAL Variable Services Class.\r
-  @param[in]  Arg2              The 2nd parameter for SAL procedure call.\r
-  @param[in]  Arg3              The 3rd parameter for SAL procedure call.\r
-  @param[in]  Arg4              The 4th parameter for SAL procedure call.\r
-  @param[in]  Arg5              The 5th parameter for SAL procedure call.\r
-  @param[in]  Arg6              The 6th parameter for SAL procedure call.\r
-  @param[in]  Arg7              The 7th parameter for SAL procedure call.\r
-  @param[in]  Arg8              The 8th parameter for SAL procedure call.\r
-  @param[in]  VirtualMode       The current calling mode for this function.\r
-  @param[in]  Global            The context of this Extended SAL Variable Services Class call.\r
-\r
-  @return                       The register of SAL.\r
-\r
-**/\r
-SAL_RETURN_REGS\r
-EFIAPI\r
-EsalVariableCommonEntry (\r
-  IN  UINT64                                      FunctionId,\r
-  IN  UINT64                                      Arg2,\r
-  IN  UINT64                                      Arg3,\r
-  IN  UINT64                                      Arg4,\r
-  IN  UINT64                                      Arg5,\r
-  IN  UINT64                                      Arg6,\r
-  IN  UINT64                                      Arg7,\r
-  IN  UINT64                                      Arg8,\r
-  IN  BOOLEAN                                     VirtualMode,\r
-  IN  ESAL_VARIABLE_GLOBAL                        *Global\r
-  )\r
-{\r
-  SAL_RETURN_REGS ReturnVal;\r
-\r
-  ReturnVal.r9  = 0;\r
-  ReturnVal.r10 = 0;\r
-  ReturnVal.r11 = 0;\r
-\r
-  switch (FunctionId) {\r
-  case EsalGetVariableFunctionId:\r
-    ReturnVal.Status = EsalGetVariable (\r
-                         (CHAR16 *) Arg2,\r
-                         (EFI_GUID *) Arg3,\r
-                         (UINT32 *) Arg4,\r
-                         (UINTN *) Arg5,\r
-                         (VOID *) Arg6,\r
-                         VirtualMode,\r
-                         Global\r
-                         );\r
-    return ReturnVal;\r
-\r
-  case EsalGetNextVariableNameFunctionId:\r
-    ReturnVal.Status = EsalGetNextVariableName (\r
-                         (UINTN *) Arg2,\r
-                         (CHAR16 *) Arg3,\r
-                         (EFI_GUID *) Arg4,\r
-                         VirtualMode,\r
-                         Global\r
-                         );\r
-    return ReturnVal;\r
-\r
-  case EsalSetVariableFunctionId:\r
-    ReturnVal.Status = EsalSetVariable (\r
-                         (CHAR16 *) Arg2,\r
-                         (EFI_GUID *) Arg3,\r
-                         (UINT32) Arg4,\r
-                         (UINTN) Arg5,\r
-                         (VOID *) Arg6,\r
-                         VirtualMode,\r
-                         Global\r
-                         );\r
-    return ReturnVal;\r
-\r
-  case EsalQueryVariableInfoFunctionId:\r
-    ReturnVal.Status = EsalQueryVariableInfo (\r
-                         (UINT32) Arg2,\r
-                         (UINT64 *) Arg3,\r
-                         (UINT64 *) Arg4,\r
-                         (UINT64 *) Arg5,\r
-                         VirtualMode,\r
-                         Global\r
-                         );\r
-    return ReturnVal;\r
-\r
-  default:\r
-    ReturnVal.Status = EFI_SAL_INVALID_ARGUMENT;\r
-    return ReturnVal;\r
-  }\r
-}\r
-\r
-/**\r
-  Notification function of EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE.\r
-\r
-  This is a notification function registered on EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE event.\r
-  It convers pointer to new virtual address.\r
-\r
-  @param[in]  Event        The event whose notification function is being invoked.\r
-  @param[in]  Context      The pointer to the notification function's context.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-VariableClassAddressChangeEvent (\r
-  IN EFI_EVENT        Event,\r
-  IN VOID             *Context\r
-  )\r
-{\r
-  UINTN Index;\r
-\r
-  CopyMem (\r
-    &mVariableModuleGlobal->VariableGlobal[Virtual],\r
-    &mVariableModuleGlobal->VariableGlobal[Physical],\r
-    sizeof (VARIABLE_GLOBAL)\r
-    );\r
-\r
-  EfiConvertPointer (\r
-    0x0,\r
-    (VOID **) &mVariableModuleGlobal->VariableGlobal[Virtual].NonVolatileVariableBase\r
-    );\r
-  EfiConvertPointer (\r
-    0x0,\r
-    (VOID **) &mVariableModuleGlobal->VariableGlobal[Virtual].VolatileVariableBase\r
-    );\r
-\r
-  mVariableModuleGlobal->PlatformLangCodes[Virtual] = mVariableModuleGlobal->PlatformLangCodes[Physical];\r
-  EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->PlatformLangCodes[Virtual]);\r
-\r
-  mVariableModuleGlobal->LangCodes[Virtual] = mVariableModuleGlobal->LangCodes[Physical];\r
-  EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->LangCodes[Virtual]);\r
-\r
-  mVariableModuleGlobal->PlatformLang[Virtual] = mVariableModuleGlobal->PlatformLang[Physical];\r
-  EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->PlatformLang[Virtual]);\r
-\r
-  CopyMem (\r
-    mVariableModuleGlobal->VariableName[Virtual],\r
-    mVariableModuleGlobal->VariableName[Physical],\r
-    sizeof (mVariableModuleGlobal->VariableName[Physical])\r
-    );\r
-  for (Index = 0; Index < NUM_VAR_NAME; Index++) {\r
-    EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->VariableName[Virtual][Index]);\r
-  }\r
-\r
-  mVariableModuleGlobal->GlobalVariableGuid[Virtual] = &gEfiGlobalVariableGuid;\r
-  EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->GlobalVariableGuid[Virtual]);\r
-\r
-  mVariableModuleGlobal->AuthenticatedVariableGuid[Virtual] = &gEfiAuthenticatedVariableGuid;\r
-  EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->AuthenticatedVariableGuid[Virtual]);\r
-\r
-  mVariableModuleGlobal->CertRsa2048Sha256Guid[Virtual] = &gEfiCertRsa2048Sha256Guid;\r
-  EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->CertRsa2048Sha256Guid[Virtual]);\r
-\r
-  mVariableModuleGlobal->ImageSecurityDatabaseGuid[Virtual] = &gEfiImageSecurityDatabaseGuid;\r
-  EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->ImageSecurityDatabaseGuid[Virtual]);\r
-\r
-  mVariableModuleGlobal->HashContext[Virtual] = mVariableModuleGlobal->HashContext[Physical];\r
-  EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->HashContext[Virtual]);\r
-}\r
-\r
-/**\r
-  Entry point of Extended SAL Variable service module.\r
-\r
-  This function is the entry point of Extended SAL Variable service module.\r
-  It registers all functions of Extended SAL Variable class, initializes\r
-  variable store for non-volatile and volatile variables, and registers\r
-  notification function for EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE event.\r
-\r
-  @param[in]  ImageHandle   The Image handle of this driver.\r
-  @param[in]  SystemTable   The pointer of EFI_SYSTEM_TABLE.\r
-\r
-  @retval     EFI_SUCCESS   Extended SAL Variable Services Class successfully registered.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-VariableServiceInitialize (\r
-  IN EFI_HANDLE         ImageHandle,\r
-  IN EFI_SYSTEM_TABLE   *SystemTable\r
-  )\r
-{\r
-  EFI_STATUS  Status;\r
-\r
-  Status = gBS->CreateEventEx (\r
-                  EVT_NOTIFY_SIGNAL,\r
-                  TPL_NOTIFY,\r
-                  VariableClassAddressChangeEvent,\r
-                  NULL,\r
-                  &gEfiEventVirtualAddressChangeGuid,\r
-                  &mEfiVirtualNotifyEvent\r
-                  );\r
-\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  Status = VariableCommonInitialize (ImageHandle, SystemTable);\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  //\r
-  // Authenticated variable initialize\r
-  //\r
-  Status = AutenticatedVariableServiceInitialize ();\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  FlushHob2Nv ();\r
-\r
-  //\r
-  // Register All the Functions with Extended SAL Variable Services Class\r
-  //\r
-  RegisterEsalClass (\r
-    EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID_LO,\r
-    EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID_HI,\r
-    mVariableModuleGlobal,\r
-    EsalVariableCommonEntry,\r
-    EsalGetVariableFunctionId,\r
-    EsalVariableCommonEntry,\r
-    EsalGetNextVariableNameFunctionId,\r
-    EsalVariableCommonEntry,\r
-    EsalSetVariableFunctionId,\r
-    EsalVariableCommonEntry,\r
-    EsalQueryVariableInfoFunctionId,\r
-    NULL\r
-    );\r
-\r
-  return EFI_SUCCESS;\r
-}\r