ReactOS 0.4.16-dev-91-g764881a
ipi.c
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Kernel
3 * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4 * PURPOSE: Source file for Inter-Processor Interrupts management
5 * COPYRIGHT: Copyright 2023 Justin Miller <justin.miller@reactos.org>
6 */
7
8/* INCLUDES ******************************************************************/
9
10#include <hal.h>
11#include <smp.h>
12
13#define NDEBUG
14#include <debug.h>
15
16/* GLOBALS *******************************************************************/
17
18VOID
21 _In_ KAFFINITY TargetProcessors)
22{
23 HalpRequestIpi(TargetProcessors);
24}
25
26#ifdef _M_AMD64
27
28VOID
30HalSendNMI(
31 _In_ KAFFINITY TargetSet)
32{
33 HalpSendNMI(TargetSet);
34}
35
36// See:
37// - https://www.virtualbox.org/browser/vbox/trunk/src/VBox/Runtime/r0drv/nt/internal-r0drv-nt.h#L53
38// - https://github.com/mirror/vbox/blob/b9657cd5351cf17432b664009cc25bb480dc64c1/src/VBox/Runtime/r0drv/nt/mp-r0drv-nt.cpp#L683
39VOID
41HalSendSoftwareInterrupt(
42 _In_ KAFFINITY TargetSet,
44{
45 HalpSendSoftwareInterrupt(TargetSet, Irql);
46}
47
48#endif // _M_AMD64
VOID NTAPI HalpRequestIpi(_In_ KAFFINITY TargetSet)
Requests an IPI interrupt on the specified processors.
Definition: apicsmp.c:223
_Out_ PKIRQL Irql
Definition: csq.h:179
ULONG_PTR KAFFINITY
Definition: compat.h:85
UCHAR KIRQL
Definition: env_spec_w32.h:591
VOID NTAPI HalRequestIpi(_In_ KAFFINITY TargetProcessors)
Definition: ipi.c:20
#define _In_
Definition: ms_sal.h:308
#define NTAPI
Definition: typedefs.h:36