/* The constructor function initializes the Performance Measurement Enable flag */
EFI_STATUS EFIAPI SmmPerformanceLibConstructor(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
/* The constructor function initializes the Performance Measurement Enable flag */
EFI_STATUS EFIAPI SmmPerformanceLibConstructor(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
{
  EFI_STATUS  Status;
  mPerformanceMeasurementEnabled =  (BOOLEAN)((PcdGet8 (PcdPerformanceLibraryPropertyMask) & PERFORMANCE_LIBRARY_PROPERTY_MEASUREMENT_ENABLED) != 0);
  Status = gSmst->SmmRegisterProtocolNotify (
                    &gEdkiiSmmExitBootServicesProtocolGuid,
                    SmmPerformanceLibExitBootServicesCallback,
                    &mPerformanceLibExitBootServicesRegistration
                    );
  ASSERT_EFI_ERROR (Status);
  return Status;
}