/* Determine if a microcode patch matchs the specific processor signature and flag. */
BOOLEAN IsProcessorMatchedMicrocode(IN UINT32 ProcessorSignature, IN UINT32 ProcessorFlags, IN EDKII_PEI_MICROCODE_CPU_ID *MicrocodeCpuId, IN UINTN MicrocodeCpuIdCount)
/* Determine if a microcode patch matchs the specific processor signature and flag. */
BOOLEAN IsProcessorMatchedMicrocode(IN UINT32 ProcessorSignature, IN UINT32 ProcessorFlags, IN EDKII_PEI_MICROCODE_CPU_ID *MicrocodeCpuId, IN UINTN MicrocodeCpuIdCount)
{
  UINTN  Index;
  if (MicrocodeCpuIdCount == 0) {
    return TRUE;
  }
  for (Index = 0; Index < MicrocodeCpuIdCount; Index++) {
    if ((ProcessorSignature == MicrocodeCpuId[Index].ProcessorSignature) &&
        ((ProcessorFlags & (1 << MicrocodeCpuId[Index].PlatformId)) != 0))
    {
      return TRUE;
    }
  }
  return FALSE;
}