ReactOS 0.4.16-dev-122-g325d74c
ipi.c File Reference
#include <ntoskrnl.h>
#include <debug.h>
Include dependency graph for ipi.c:

Go to the source code of this file.

Macros

#define NDEBUG
 

Functions

VOID FASTCALL KiIpiSend (_In_ KAFFINITY TargetSet, _In_ ULONG IpiRequest)
 
ULONG_PTR NTAPI KeIpiGenericCall (_In_ PKIPI_BROADCAST_WORKER Function, _In_ ULONG_PTR Argument)
 

Macro Definition Documentation

◆ NDEBUG

#define NDEBUG

Definition at line 11 of file ipi.c.

Function Documentation

◆ KeIpiGenericCall()

ULONG_PTR NTAPI KeIpiGenericCall ( _In_ PKIPI_BROADCAST_WORKER  Function,
_In_ ULONG_PTR  Argument 
)

Definition at line 44 of file ipi.c.

47{
49 return 0;
50}
void __cdecl __debugbreak(void)
Definition: intrin_ppc.h:698

Referenced by KiInitMachineDependent(), KiRestoreFastSyscallReturnState(), MiFlushTlb(), PcipGetFunctionLimits(), and PciUpdateHardware().

◆ KiIpiSend()

VOID FASTCALL KiIpiSend ( _In_ KAFFINITY  TargetSet,
_In_ ULONG  IpiRequest 
)

Definition at line 18 of file ipi.c.

21{
22 /* Check if we can send the IPI directly */
23 if (IpiRequest == IPI_APC)
24 {
25 HalSendSoftwareInterrupt(TargetSet, APC_LEVEL);
26 }
27 else if (IpiRequest == IPI_DPC)
28 {
29 HalSendSoftwareInterrupt(TargetSet, DISPATCH_LEVEL);
30 }
31 else if (IpiRequest == IPI_FREEZE)
32 {
33 /* On x64 the freeze IPI is an NMI */
34 HalSendNMI(TargetSet);
35 }
36 else
37 {
39 }
40}
#define FALSE
Definition: types.h:117
#define APC_LEVEL
Definition: env_spec_w32.h:695
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
#define ASSERT(a)
Definition: mode.c:44
#define IPI_FREEZE
Definition: ketypes.h:299
#define IPI_DPC
Definition: ketypes.h:298
#define IPI_APC
Definition: ketypes.h:297