KeIpiGenericCall

PVOID __stdcall KeIpiGenericCall(PKIPI_BROADCAST_WORKER BroadcastFunction, PVOID Context){
  unsigned __int8 CurrentIrql; 
  int v5; 
  void *v6; 
  struct _KPRCB *CurrentPrcb; 
  INT64 v9; 
  UINT64 SpinCount; 
  CurrentIrql = KeGetCurrentIrql();
  if( CurrentIrql < 0xCu )
  {
    KeGetCurrentIrql();
    __writecr8(0xCui64);
  }
  LODWORD(SpinCount) = 0;
  LODWORD(v9) = KeQueryActiveProcessorCountEx(0xFFFFu);
  v5 = v9 - 1;
  KxAcquireSpinLock(&KiReverseStallIpiLock);
  if( v5 )
    KiIpiSendPacket(1i64, 0i64, (INT64)KiIpiGenericCallTarget, (INT64)BroadcastFunction, (INT64)Context, (INT64)&v9);
  while( (_DWORD)v9 != 1 )
    KeYieldProcessorEx(&SpinCount);
  KeGetCurrentIrql();
  __writecr8(0xEui64);
  LODWORD(v9) = 0;
  v6 = (void *)((__int64(__fastcall *)(PVOID))BroadcastFunction)(Context);
  if( v5 )
  {
    if( CurrentIrql <= 0xCu )
      __writecr8(0xCui64);
    CurrentPrcb = KeGetCurrentPrcb();
    while( *((_DWORD *)CurrentPrcb + 2912) )
      _mm_pause();
  }
  KxReleaseSpinLock(&KiReverseStallIpiLock);
  __writecr8(CurrentIrql);
  return v6;
}

Referenced by:

HalpCmciHandler
HalpLbrConfigurationWorker
HalpTimerMeasureAllProcessorFrequencies
HalpTscFallbackToPlatformSource
HalpTscSynchronization
IoInitSystemPreDrivers
KeAdjustInterruptTime
KeRestoreMtrrBroadcast
KeStartProfile
KeStopProfile
KiDynamicProcessorInitialization
KiUpdateNumberProcessors
KiUpdateSavedSupervisorState
MiStackTheftFreezeProcessors
MiZeroPageCalibrate
MmRemoveImportOptimizationForDriverVerifier