/* The constructor function initializes the Smm IO library */
EFI_STATUS EFIAPI SmmIoLibConstructor(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
/* The constructor function initializes the Smm IO library */
EFI_STATUS EFIAPI SmmIoLibConstructor(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
{
  EFI_STATUS  Status;
  SmmIoLibInternalCalculateMaximumSupportAddress ();
  Status = gSmst->SmmRegisterProtocolNotify (&gEfiSmmEndOfDxeProtocolGuid, SmmIoLibInternalEndOfDxeNotify, &mSmmIoLibRegistrationEndOfDxe);
  ASSERT_EFI_ERROR (Status);
  Status = gSmst->SmmRegisterProtocolNotify (&gEfiSmmReadyToLockProtocolGuid, SmmIoLibInternalReadyToLockNotify, &mSmmIoLibRegistrationReadyToLock);
  ASSERT_EFI_ERROR (Status);
  return EFI_SUCCESS;
}